@web3auth/no-modal 10.0.0-beta.8 → 10.0.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 (126) hide show
  1. package/dist/lib.cjs/base/analytics.js +121 -0
  2. package/dist/lib.cjs/base/connector/constants.js +2 -1
  3. package/dist/lib.cjs/base/constants.js +13 -0
  4. package/dist/lib.cjs/base/cookie.js +38 -0
  5. package/dist/lib.cjs/base/deserialize.js +13 -0
  6. package/dist/lib.cjs/base/errors/index.js +2 -2
  7. package/dist/lib.cjs/base/utils.js +112 -9
  8. package/dist/lib.cjs/base/wallet/index.js +3 -3
  9. package/dist/lib.cjs/connectors/auth-connector/authConnector.js +40 -63
  10. package/dist/lib.cjs/connectors/base-evm-connector/baseEvmConnector.js +5 -2
  11. package/dist/lib.cjs/connectors/base-solana-connector/baseSolanaConnector.js +5 -2
  12. package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +11 -4
  13. package/dist/lib.cjs/connectors/injected-evm-connector/injectedEvmConnector.js +10 -4
  14. package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +10 -5
  15. package/dist/lib.cjs/connectors/metamask-connector/metamaskConnector.js +19 -8
  16. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +2 -1
  17. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/config.js +11 -9
  18. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/index.js +0 -1
  19. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +9 -4
  20. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +6 -5
  21. package/dist/lib.cjs/index.js +18 -1
  22. package/dist/lib.cjs/noModal.js +367 -101
  23. package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +3 -1
  24. package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +3 -1
  25. package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +10 -5
  26. package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +3 -2
  27. package/dist/lib.cjs/providers/base-provider/baseProvider.js +2 -1
  28. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +2 -1
  29. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +2 -1
  30. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +2 -1
  31. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +4 -2
  32. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +4 -2
  33. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +3 -1
  34. package/dist/lib.cjs/react/context/WalletServicesInnerContext.js +4 -2
  35. package/dist/lib.cjs/react/context/Web3AuthInnerContext.js +21 -16
  36. package/dist/lib.cjs/react/hooks/useCheckout.js +4 -2
  37. package/dist/lib.cjs/react/hooks/useIdentityToken.js +3 -3
  38. package/dist/lib.cjs/react/hooks/useSwap.js +4 -2
  39. package/dist/lib.cjs/react/hooks/useWalletConnectScanner.js +4 -2
  40. package/dist/lib.cjs/react/hooks/useWalletUI.js +4 -2
  41. package/dist/lib.cjs/react/hooks/useWeb3AuthInner.js +4 -2
  42. package/dist/lib.cjs/react/solana/hooks/useSolanaWallet.js +8 -3
  43. package/dist/lib.cjs/react/wagmi/constants.js +16 -0
  44. package/dist/lib.cjs/react/wagmi/provider.js +16 -12
  45. package/dist/lib.cjs/types/base/analytics.d.ts +42 -0
  46. package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +2 -2
  47. package/dist/lib.cjs/types/base/connector/constants.d.ts +1 -0
  48. package/dist/lib.cjs/types/base/connector/interfaces.d.ts +3 -2
  49. package/dist/lib.cjs/types/base/constants.d.ts +6 -0
  50. package/dist/lib.cjs/types/base/cookie.d.ts +10 -0
  51. package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +31 -11
  52. package/dist/lib.cjs/types/base/deserialize.d.ts +3 -0
  53. package/dist/lib.cjs/types/base/errors/index.d.ts +1 -1
  54. package/dist/lib.cjs/types/base/index.d.ts +2 -0
  55. package/dist/lib.cjs/types/base/interfaces.d.ts +9 -1
  56. package/dist/lib.cjs/types/base/utils.d.ts +50 -3
  57. package/dist/lib.cjs/types/base/wallet/index.d.ts +4 -2
  58. package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +1 -1
  59. package/dist/lib.cjs/types/connectors/auth-connector/interface.d.ts +1 -1
  60. package/dist/lib.cjs/types/connectors/base-evm-connector/baseEvmConnector.d.ts +2 -2
  61. package/dist/lib.cjs/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +2 -2
  62. package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/config.d.ts +0 -1
  63. package/dist/lib.cjs/types/noModal.d.ts +18 -9
  64. package/dist/lib.cjs/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +4 -1
  65. package/dist/lib.cjs/types/providers/ethereum-provider/providers/converter.d.ts +0 -1
  66. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +0 -1
  67. package/dist/lib.cjs/types/react/hooks/useIdentityToken.d.ts +2 -2
  68. package/dist/lib.cjs/types/react/interfaces.d.ts +2 -1
  69. package/dist/lib.cjs/types/react/wagmi/constants.d.ts +43 -0
  70. package/dist/lib.cjs/types/react/wagmi/provider.d.ts +1 -2
  71. package/dist/lib.cjs/types/vue/composables/useIdentityToken.d.ts +1 -1
  72. package/dist/lib.cjs/types/vue/wagmi/constants.d.ts +43 -0
  73. package/dist/lib.cjs/types/vue/wagmi/provider.d.ts +1 -0
  74. package/dist/lib.cjs/vue/WalletServicesInnerProvider.js +4 -2
  75. package/dist/lib.cjs/vue/Web3AuthProvider.js +7 -1
  76. package/dist/lib.cjs/vue/composables/useCheckout.js +4 -2
  77. package/dist/lib.cjs/vue/composables/useEnableMFA.js +4 -2
  78. package/dist/lib.cjs/vue/composables/useIdentityToken.js +7 -5
  79. package/dist/lib.cjs/vue/composables/useManageMFA.js +5 -3
  80. package/dist/lib.cjs/vue/composables/useSwap.js +4 -2
  81. package/dist/lib.cjs/vue/composables/useSwitchChain.js +4 -2
  82. package/dist/lib.cjs/vue/composables/useWalletConnectScanner.js +4 -2
  83. package/dist/lib.cjs/vue/composables/useWalletUI.js +4 -2
  84. package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +4 -2
  85. package/dist/lib.cjs/vue/composables/useWeb3AuthDisconnect.js +4 -2
  86. package/dist/lib.cjs/vue/composables/useWeb3AuthInner.js +4 -2
  87. package/dist/lib.cjs/vue/composables/useWeb3AuthUser.js +4 -2
  88. package/dist/lib.cjs/vue/solana/composables/useSolanaWallet.js +24 -15
  89. package/dist/lib.cjs/vue/wagmi/constants.js +16 -0
  90. package/dist/lib.cjs/vue/wagmi/provider.js +34 -16
  91. package/dist/lib.esm/base/analytics.js +117 -0
  92. package/dist/lib.esm/base/connector/constants.js +2 -1
  93. package/dist/lib.esm/base/constants.js +11 -1
  94. package/dist/lib.esm/base/cookie.js +34 -0
  95. package/dist/lib.esm/base/deserialize.js +11 -0
  96. package/dist/lib.esm/base/errors/index.js +2 -2
  97. package/dist/lib.esm/base/utils.js +104 -7
  98. package/dist/lib.esm/base/wallet/index.js +3 -3
  99. package/dist/lib.esm/connectors/auth-connector/authConnector.js +41 -65
  100. package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +1 -1
  101. package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +1 -1
  102. package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +9 -3
  103. package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +7 -3
  104. package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +7 -4
  105. package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +17 -7
  106. package/dist/lib.esm/connectors/wallet-connect-v2-connector/config.js +8 -7
  107. package/dist/lib.esm/connectors/wallet-connect-v2-connector/index.js +1 -1
  108. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +8 -4
  109. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +1 -1
  110. package/dist/lib.esm/index.js +5 -3
  111. package/dist/lib.esm/noModal.js +378 -107
  112. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +8 -4
  113. package/dist/lib.esm/react/context/Web3AuthInnerContext.js +22 -17
  114. package/dist/lib.esm/react/hooks/useIdentityToken.js +3 -3
  115. package/dist/lib.esm/react/solana/hooks/useSolanaWallet.js +5 -0
  116. package/dist/lib.esm/react/wagmi/constants.js +14 -0
  117. package/dist/lib.esm/react/wagmi/provider.js +16 -12
  118. package/dist/lib.esm/vue/Web3AuthProvider.js +7 -1
  119. package/dist/lib.esm/vue/composables/useIdentityToken.js +3 -3
  120. package/dist/lib.esm/vue/composables/useManageMFA.js +1 -1
  121. package/dist/lib.esm/vue/solana/composables/useSolanaWallet.js +21 -13
  122. package/dist/lib.esm/vue/wagmi/constants.js +14 -0
  123. package/dist/lib.esm/vue/wagmi/provider.js +35 -15
  124. package/dist/noModal.umd.min.js +1 -1
  125. package/dist/noModal.umd.min.js.LICENSE.txt +4 -6
  126. package/package.json +24 -34
@@ -2,12 +2,15 @@
2
2
 
3
3
  var baseControllers = require('@toruslabs/base-controllers');
4
4
  var wsEmbed = require('@web3auth/ws-embed');
5
+ require('@babel/runtime/helpers/objectSpread2');
6
+ require('@babel/runtime/helpers/defineProperty');
7
+ require('@segment/analytics-next');
8
+ require('../../base/loglevel.js');
5
9
  var baseConnector = require('../../base/connector/baseConnector.js');
6
10
  var constants = require('../../base/connector/constants.js');
7
11
  require('@web3auth/auth');
8
12
  var utils = require('../../base/connector/utils.js');
9
13
  var index = require('../../base/errors/index.js');
10
- require('../../base/loglevel.js');
11
14
  require('../../base/plugin/errors.js');
12
15
  require('../../base/plugin/IPlugin.js');
13
16
  require('@toruslabs/constants');
@@ -16,7 +19,7 @@ require('../../base/wallet/index.js');
16
19
 
17
20
  class BaseEvmConnector extends baseConnector.BaseConnector {
18
21
  async init(_) {}
19
- async authenticateUser() {
22
+ async getIdentityToken() {
20
23
  if (!this.provider || this.status !== constants.CONNECTOR_STATUS.CONNECTED) throw index.WalletLoginError.notConnectedError();
21
24
  if (!this.coreOptions) throw index.WalletInitializationError.invalidParams("Please initialize Web3Auth with valid options");
22
25
  const accounts = await this.provider.request({
@@ -2,12 +2,15 @@
2
2
 
3
3
  var baseControllers = require('@toruslabs/base-controllers');
4
4
  var wsEmbed = require('@web3auth/ws-embed');
5
+ require('@babel/runtime/helpers/objectSpread2');
6
+ require('@babel/runtime/helpers/defineProperty');
7
+ require('@segment/analytics-next');
8
+ require('../../base/loglevel.js');
5
9
  var baseConnector = require('../../base/connector/baseConnector.js');
6
10
  var constants = require('../../base/connector/constants.js');
7
11
  require('@web3auth/auth');
8
12
  var utils = require('../../base/connector/utils.js');
9
13
  var index = require('../../base/errors/index.js');
10
- require('../../base/loglevel.js');
11
14
  require('../../base/plugin/errors.js');
12
15
  require('../../base/plugin/IPlugin.js');
13
16
  require('@toruslabs/constants');
@@ -16,7 +19,7 @@ require('../../base/wallet/index.js');
16
19
 
17
20
  class BaseSolanaConnector extends baseConnector.BaseConnector {
18
21
  async init(_) {}
19
- async authenticateUser() {
22
+ async getIdentityToken() {
20
23
  if (!this.provider || this.status !== constants.CONNECTOR_STATUS.CONNECTED) throw index.WalletLoginError.notConnectedError();
21
24
  if (!this.coreOptions) throw index.WalletInitializationError.invalidParams("Please initialize Web3Auth with a valid options");
22
25
  const accounts = await this.provider.request({
@@ -2,13 +2,14 @@
2
2
 
3
3
  var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
4
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
+ require('@segment/analytics-next');
6
+ require('../../base/loglevel.js');
5
7
  var IChainInterface = require('../../base/chain/IChainInterface.js');
6
8
  require('@web3auth/auth');
7
9
  var index$1 = require('../../base/errors/index.js');
8
10
  var index = require('../../base/wallet/index.js');
9
11
  var constants = require('../../base/connector/constants.js');
10
12
  require('jwt-decode');
11
- require('../../base/loglevel.js');
12
13
  require('../../base/plugin/errors.js');
13
14
  require('../../base/plugin/IPlugin.js');
14
15
  var baseControllers = require('@toruslabs/base-controllers');
@@ -62,12 +63,17 @@ class CoinbaseConnector extends baseEvmConnector.BaseEvmConnector {
62
63
  try {
63
64
  if (options.autoConnect) {
64
65
  this.rehydrated = true;
65
- await this.connect({
66
+ const provider = await this.connect({
66
67
  chainId: options.chainId
67
68
  });
69
+ // the connect function could fail silently as well.
70
+ if (!provider) {
71
+ this.rehydrated = false;
72
+ throw index$1.WalletLoginError.connectionError("Failed to rehydrate.");
73
+ }
68
74
  }
69
75
  } catch (error) {
70
- this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
76
+ this.emit(constants.CONNECTOR_EVENTS.REHYDRATION_ERROR, error);
71
77
  }
72
78
  }
73
79
  async connect({
@@ -106,8 +112,9 @@ class CoinbaseConnector extends baseEvmConnector.BaseEvmConnector {
106
112
  } catch (error) {
107
113
  // ready again to be connected
108
114
  this.status = constants.CONNECTOR_STATUS.READY;
115
+ // only throw error if the connector is not rehydrated.
116
+ if (!this.rehydrated) this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
109
117
  this.rehydrated = false;
110
- this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
111
118
  if (error instanceof index$1.Web3AuthError) throw error;
112
119
  throw index$1.WalletLoginError.connectionError("Failed to login with coinbase wallet", error);
113
120
  }
@@ -1,13 +1,15 @@
1
1
  'use strict';
2
2
 
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ require('@babel/runtime/helpers/objectSpread2');
5
+ require('@segment/analytics-next');
6
+ var loglevel = require('../../base/loglevel.js');
4
7
  var IChainInterface = require('../../base/chain/IChainInterface.js');
5
8
  require('@web3auth/auth');
6
9
  var index = require('../../base/errors/index.js');
7
10
  require('../../base/wallet/index.js');
8
11
  var constants = require('../../base/connector/constants.js');
9
12
  require('jwt-decode');
10
- var loglevel = require('../../base/loglevel.js');
11
13
  require('../../base/plugin/errors.js');
12
14
  require('../../base/plugin/IPlugin.js');
13
15
  var utils = require('../../base/utils.js');
@@ -49,12 +51,16 @@ class InjectedEvmConnector extends baseEvmConnector.BaseEvmConnector {
49
51
  loglevel.log.debug(`initializing ${this.name} injected connector`);
50
52
  if (options.autoConnect) {
51
53
  this.rehydrated = true;
52
- await this.connect({
54
+ const provider = await this.connect({
53
55
  chainId: options.chainId
54
56
  });
57
+ if (!provider) {
58
+ this.rehydrated = false;
59
+ throw index.WalletLoginError.connectionError("Failed to rehydrate.");
60
+ }
55
61
  }
56
62
  } catch (error) {
57
- this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
63
+ this.emit(constants.CONNECTOR_EVENTS.REHYDRATION_ERROR, error);
58
64
  }
59
65
  }
60
66
  async connect({
@@ -99,8 +105,8 @@ class InjectedEvmConnector extends baseEvmConnector.BaseEvmConnector {
99
105
  } catch (error) {
100
106
  // ready again to be connected
101
107
  this.status = constants.CONNECTOR_STATUS.READY;
108
+ if (!this.rehydrated) this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
102
109
  this.rehydrated = false;
103
- this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
104
110
  if (error instanceof index.Web3AuthError) throw error;
105
111
  throw index.WalletLoginError.connectionError(`Failed to login with ${this.name} injected wallet`);
106
112
  }
@@ -2,13 +2,15 @@
2
2
 
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var features = require('@wallet-standard/features');
5
+ require('@babel/runtime/helpers/objectSpread2');
6
+ require('@segment/analytics-next');
7
+ var loglevel = require('../../base/loglevel.js');
5
8
  var IChainInterface = require('../../base/chain/IChainInterface.js');
6
9
  require('@web3auth/auth');
7
10
  var index = require('../../base/errors/index.js');
8
11
  require('../../base/wallet/index.js');
9
12
  var constants = require('../../base/connector/constants.js');
10
13
  require('jwt-decode');
11
- var loglevel = require('../../base/loglevel.js');
12
14
  require('../../base/plugin/errors.js');
13
15
  require('../../base/plugin/IPlugin.js');
14
16
  var utils = require('../../base/utils.js');
@@ -65,13 +67,16 @@ class WalletStandardConnector extends baseSolanaConnector.BaseSolanaConnector {
65
67
  loglevel.log.debug("initializing solana injected connector");
66
68
  if (options.autoConnect) {
67
69
  this.rehydrated = true;
68
- await this.connect({
70
+ const provider = await this.connect({
69
71
  chainId: options.chainId
70
72
  });
73
+ if (!provider) {
74
+ this.rehydrated = false;
75
+ throw index.WalletLoginError.connectionError("Failed to rehydrate.");
76
+ }
71
77
  }
72
78
  } catch (error) {
73
- loglevel.log.error("Failed to connect with cached solana injected provider", error);
74
- this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
79
+ this.emit(constants.CONNECTOR_EVENTS.REHYDRATION_ERROR, error);
75
80
  }
76
81
  }
77
82
  async connect({
@@ -101,8 +106,8 @@ class WalletStandardConnector extends baseSolanaConnector.BaseSolanaConnector {
101
106
  } catch (error) {
102
107
  // ready again to be connected
103
108
  this.status = constants.CONNECTOR_STATUS.READY;
109
+ if (!this.rehydrated) this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
104
110
  this.rehydrated = false;
105
- this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
106
111
  throw error;
107
112
  }
108
113
  }
@@ -1,15 +1,17 @@
1
1
  'use strict';
2
2
 
3
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
3
4
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
5
  var sdk = require('@metamask/sdk');
5
6
  var deepmerge = require('deepmerge');
7
+ require('@segment/analytics-next');
8
+ require('../../base/loglevel.js');
6
9
  var IChainInterface = require('../../base/chain/IChainInterface.js');
7
10
  require('@web3auth/auth');
8
11
  var index$1 = require('../../base/errors/index.js');
9
12
  var index = require('../../base/wallet/index.js');
10
13
  var constants = require('../../base/connector/constants.js');
11
14
  require('jwt-decode');
12
- require('../../base/loglevel.js');
13
15
  require('../../base/plugin/errors.js');
14
16
  require('../../base/plugin/IPlugin.js');
15
17
  var baseControllers = require('@toruslabs/base-controllers');
@@ -41,6 +43,7 @@ class MetaMaskConnector extends baseEvmConnector.BaseEvmConnector {
41
43
  throw new Error("Not implemented");
42
44
  }
43
45
  async init(options) {
46
+ var _metamaskOptions$useD;
44
47
  await super.init(options);
45
48
  const chainConfig = this.coreOptions.chains.find(x => x.chainId === options.chainId);
46
49
  super.checkInitializationRequirements({
@@ -48,16 +51,20 @@ class MetaMaskConnector extends baseEvmConnector.BaseEvmConnector {
48
51
  });
49
52
  // Detect app metadata
50
53
  const iconUrl = await utils.getSiteIcon(window);
54
+ // TODO: handle ssr
51
55
  const appMetadata = {
52
- name: utils.getSiteName(window),
53
- url: window.location.origin,
56
+ name: utils.getSiteName(window) || "web3auth",
57
+ url: window.location.origin || "https://web3auth.io",
54
58
  iconUrl
55
59
  };
56
60
  // initialize the MetaMask SDK
57
61
  const metamaskOptions = deepmerge(this.metamaskOptions || {}, {
58
62
  dappMetadata: appMetadata
59
63
  });
60
- this.metamaskSDK = new sdk.MetaMaskSDK(metamaskOptions);
64
+ this.metamaskSDK = new sdk.MetaMaskSDK(_objectSpread(_objectSpread({}, metamaskOptions), {}, {
65
+ _source: "web3auth",
66
+ useDeeplink: (_metamaskOptions$useD = metamaskOptions.useDeeplink) !== null && _metamaskOptions$useD !== void 0 ? _metamaskOptions$useD : true
67
+ }));
61
68
  // Work around: in case there is an existing SDK instance in memory (window.mmsdk exists), it won't initialize the new SDK instance again
62
69
  // and return the existing instance instead of undefined (this is an assumption, not sure if it's a bug or feature of the MetaMask SDK)
63
70
  const initResult = await this.metamaskSDK.init();
@@ -70,12 +77,16 @@ class MetaMaskConnector extends baseEvmConnector.BaseEvmConnector {
70
77
  try {
71
78
  if (options.autoConnect) {
72
79
  this.rehydrated = true;
73
- await this.connect({
80
+ const provider = await this.connect({
74
81
  chainId: options.chainId
75
82
  });
83
+ if (!provider) {
84
+ this.rehydrated = false;
85
+ throw index$1.WalletLoginError.connectionError("Failed to rehydrate.");
86
+ }
76
87
  }
77
88
  } catch (error) {
78
- this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
89
+ this.emit(constants.CONNECTOR_EVENTS.REHYDRATION_ERROR, error);
79
90
  }
80
91
  }
81
92
  async connect({
@@ -129,8 +140,8 @@ class MetaMaskConnector extends baseEvmConnector.BaseEvmConnector {
129
140
  } catch (error) {
130
141
  // ready again to be connected
131
142
  this.status = constants.CONNECTOR_STATUS.READY;
143
+ if (!this.rehydrated) this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
132
144
  this.rehydrated = false;
133
- this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
134
145
  if (error instanceof index$1.Web3AuthError) throw error;
135
146
  throw index$1.WalletLoginError.connectionError("Failed to login with MetaMask wallet", error);
136
147
  }
@@ -168,7 +179,7 @@ class MetaMaskConnector extends baseEvmConnector.BaseEvmConnector {
168
179
  } catch (error) {
169
180
  // If the error code is 4902, the network needs to be added
170
181
  if ((error === null || error === void 0 ? void 0 : error.code) === 4902) {
171
- const chainConfig = this.coreOptions.chains.find(x => x.chainId === params.chainId && x.chainNamespace === this.connectorNamespace);
182
+ const chainConfig = this.coreOptions.chains.find(x => x.chainId === params.chainId && [baseControllers.CHAIN_NAMESPACES.EIP155, baseControllers.CHAIN_NAMESPACES.SOLANA].includes(x.chainNamespace));
172
183
  await this.addChain(chainConfig);
173
184
  await requestSwitchChain();
174
185
  } else {
@@ -4,12 +4,13 @@ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
4
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
5
  var utils = require('@walletconnect/utils');
6
6
  var auth = require('@web3auth/auth');
7
+ require('@segment/analytics-next');
8
+ var loglevel = require('../../base/loglevel.js');
7
9
  var baseControllers = require('@toruslabs/base-controllers');
8
10
  var index = require('../../base/errors/index.js');
9
11
  require('../../base/wallet/index.js');
10
12
  require('../../base/connector/constants.js');
11
13
  require('jwt-decode');
12
- var loglevel = require('../../base/loglevel.js');
13
14
  require('../../base/plugin/errors.js');
14
15
  require('../../base/plugin/IPlugin.js');
15
16
  require('@toruslabs/constants');
@@ -1,13 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var baseControllers = require('@toruslabs/base-controllers');
3
+ require('@babel/runtime/helpers/objectSpread2');
4
4
  require('@babel/runtime/helpers/defineProperty');
5
+ require('@segment/analytics-next');
6
+ require('../../base/loglevel.js');
7
+ var baseControllers = require('@toruslabs/base-controllers');
5
8
  require('@web3auth/auth');
6
9
  require('../../base/errors/index.js');
7
10
  require('../../base/wallet/index.js');
8
11
  require('../../base/connector/constants.js');
9
12
  require('jwt-decode');
10
- require('../../base/loglevel.js');
13
+ var constants = require('../../base/constants.js');
11
14
  require('../../base/plugin/errors.js');
12
15
  require('../../base/plugin/IPlugin.js');
13
16
  require('@toruslabs/constants');
@@ -41,11 +44,6 @@ exports.DEFAULT_SOLANA_EVENTS = void 0;
41
44
  DEFAULT_SOLANA_EVENTS["SOL_CHAIN_CHANGED"] = "chainChanged";
42
45
  DEFAULT_SOLANA_EVENTS["SOL_ACCOUNTS_CHANGED"] = "accountsChanged";
43
46
  })(exports.DEFAULT_SOLANA_EVENTS || (exports.DEFAULT_SOLANA_EVENTS = {}));
44
- const SOLANA_CAIP_CHAIN_MAP = {
45
- "0x65": "5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
46
- "0x66": "4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z",
47
- "0x67": "EtWTRABZaYq6iMfeYKouRu166VU2xqa1"
48
- };
49
47
  /**
50
48
  * Gets site metadata and returns it
51
49
  *
@@ -107,7 +105,12 @@ const getWalletConnectV2Settings = async (chains, projectID) => {
107
105
  }
108
106
  };
109
107
  const chainNamespaces = chains.map(chain => {
110
- return `${chain.chainNamespace}:${chain.chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA ? SOLANA_CAIP_CHAIN_MAP[chain.chainId] : parseInt(chain.chainId, 16)}`;
108
+ if (chain.chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA) {
109
+ return `${chain.chainNamespace}:${constants.SOLANA_CAIP_CHAIN_MAP[chain.chainId]}`;
110
+ } else if (chain.chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155) {
111
+ return `${chain.chainNamespace}:${parseInt(chain.chainId, 16)}`;
112
+ }
113
+ throw new Error(`Unsupported chain namespace: ${chain.chainNamespace}`);
111
114
  });
112
115
  const loginSettings = {
113
116
  optionalNamespaces: getRequiredNamespaces(chainNamespaces)
@@ -118,7 +121,6 @@ const getWalletConnectV2Settings = async (chains, projectID) => {
118
121
  };
119
122
  };
120
123
 
121
- exports.SOLANA_CAIP_CHAIN_MAP = SOLANA_CAIP_CHAIN_MAP;
122
124
  exports.getNamespacesFromChains = getNamespacesFromChains;
123
125
  exports.getRequiredNamespaces = getRequiredNamespaces;
124
126
  exports.getSupportedEventsByNamespace = getSupportedEventsByNamespace;
@@ -22,7 +22,6 @@ Object.defineProperty(exports, "DEFAULT_SOLANA_METHODS", {
22
22
  enumerable: true,
23
23
  get: function () { return config.DEFAULT_SOLANA_METHODS; }
24
24
  });
25
- exports.SOLANA_CAIP_CHAIN_MAP = config.SOLANA_CAIP_CHAIN_MAP;
26
25
  exports.getNamespacesFromChains = config.getNamespacesFromChains;
27
26
  exports.getRequiredNamespaces = config.getRequiredNamespaces;
28
27
  exports.getSupportedEventsByNamespace = config.getSupportedEventsByNamespace;
@@ -7,13 +7,14 @@ var Client = require('@walletconnect/sign-client');
7
7
  var utils$1 = require('@walletconnect/utils');
8
8
  var wsEmbed = require('@web3auth/ws-embed');
9
9
  var deepmerge = require('deepmerge');
10
+ require('@segment/analytics-next');
11
+ var loglevel = require('../../base/loglevel.js');
10
12
  var IChainInterface = require('../../base/chain/IChainInterface.js');
11
13
  var baseConnector = require('../../base/connector/baseConnector.js');
12
14
  var constants = require('../../base/connector/constants.js');
13
15
  require('@web3auth/auth');
14
16
  var utils = require('../../base/connector/utils.js');
15
17
  var index$1 = require('../../base/errors/index.js');
16
- var loglevel = require('../../base/loglevel.js');
17
18
  require('../../base/plugin/errors.js');
18
19
  require('../../base/plugin/IPlugin.js');
19
20
  require('@toruslabs/constants');
@@ -73,7 +74,11 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
73
74
  chainConfig
74
75
  });
75
76
  const projectId = (_this$connectorOption6 = this.connectorOptions.connectorSettings) === null || _this$connectorOption6 === void 0 || (_this$connectorOption6 = _this$connectorOption6.walletConnectInitOptions) === null || _this$connectorOption6 === void 0 ? void 0 : _this$connectorOption6.projectId;
76
- const wc2Settings = await config.getWalletConnectV2Settings(this.coreOptions.chains, projectId);
77
+ const filteredChains = this.coreOptions.chains.filter(x => x.chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155 || x.chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA);
78
+ if (filteredChains.length === 0) {
79
+ throw index$1.WalletInitializationError.invalidParams("No supported chains found");
80
+ }
81
+ const wc2Settings = await config.getWalletConnectV2Settings(filteredChains, projectId);
77
82
  if (!this.connectorOptions.loginSettings || Object.keys(this.connectorOptions.loginSettings).length === 0) {
78
83
  this.connectorOptions.loginSettings = wc2Settings.loginSettings;
79
84
  }
@@ -102,7 +107,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
102
107
  });
103
108
  } catch (error) {
104
109
  loglevel.log.error("wallet auto connect", error);
105
- this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
110
+ this.emit(constants.CONNECTOR_EVENTS.REHYDRATION_ERROR, error);
106
111
  }
107
112
  } else {
108
113
  this.status = constants.CONNECTOR_STATUS.NOT_READY;
@@ -182,7 +187,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
182
187
  this.activeSession = null;
183
188
  this.emit(constants.CONNECTOR_EVENTS.DISCONNECTED);
184
189
  }
185
- async authenticateUser() {
190
+ async getIdentityToken() {
186
191
  if (!this.provider || this.status !== constants.CONNECTOR_STATUS.CONNECTED) throw index$1.WalletLoginError.notConnectedError();
187
192
  const {
188
193
  chainId
@@ -5,18 +5,19 @@ var bs58 = require('@toruslabs/bs58');
5
5
  var utils = require('@walletconnect/utils');
6
6
  var auth = require('@web3auth/auth');
7
7
  var wsEmbed = require('@web3auth/ws-embed');
8
- require('@toruslabs/base-controllers');
9
8
  require('@babel/runtime/helpers/defineProperty');
9
+ require('@segment/analytics-next');
10
+ require('../../base/loglevel.js');
11
+ require('@toruslabs/base-controllers');
10
12
  var index = require('../../base/errors/index.js');
11
13
  require('../../base/wallet/index.js');
12
14
  require('../../base/connector/constants.js');
13
15
  require('jwt-decode');
14
- require('../../base/loglevel.js');
16
+ var constants = require('../../base/constants.js');
15
17
  require('../../base/plugin/errors.js');
16
18
  require('../../base/plugin/IPlugin.js');
17
19
  require('@toruslabs/constants');
18
20
  require('@toruslabs/http-helpers');
19
- var config = require('./config.js');
20
21
 
21
22
  async function getLastActiveSession(signClient) {
22
23
  if (signClient.session.length) {
@@ -128,7 +129,7 @@ function getSolProviderHandlers({
128
129
  throw auth.rpcErrors.methodNotSupported();
129
130
  },
130
131
  signMessage: async req => {
131
- const methodRes = await sendJrpcRequest(connector, `solana:${config.SOLANA_CAIP_CHAIN_MAP[chainId]}`, wsEmbed.SOLANA_METHOD_TYPES.SIGN_MESSAGE, {
132
+ const methodRes = await sendJrpcRequest(connector, `solana:${constants.SOLANA_CAIP_CHAIN_MAP[chainId]}`, wsEmbed.SOLANA_METHOD_TYPES.SIGN_MESSAGE, {
132
133
  message: bs58.bs58.encode(Buffer.from(req.params.data, "utf-8"))
133
134
  });
134
135
  return methodRes.signature;
@@ -138,7 +139,7 @@ function getSolProviderHandlers({
138
139
  if (accounts.length === 0) {
139
140
  throw auth.providerErrors.disconnected();
140
141
  }
141
- const methodRes = await sendJrpcRequest(connector, `solana:${config.SOLANA_CAIP_CHAIN_MAP[chainId]}`, wsEmbed.SOLANA_METHOD_TYPES.SIGN_TRANSACTION, {
142
+ const methodRes = await sendJrpcRequest(connector, `solana:${constants.SOLANA_CAIP_CHAIN_MAP[chainId]}`, wsEmbed.SOLANA_METHOD_TYPES.SIGN_TRANSACTION, {
142
143
  transaction: req.params.message
143
144
  });
144
145
  return methodRes.signature;
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var analytics = require('./base/analytics.js');
3
4
  var IChainInterface = require('./base/chain/IChainInterface.js');
4
5
  var index = require('./base/composables/index.js');
5
6
  var baseConnector = require('./base/connector/baseConnector.js');
@@ -7,6 +8,7 @@ var constants = require('./base/connector/constants.js');
7
8
  var auth = require('@web3auth/auth');
8
9
  var utils = require('./base/connector/utils.js');
9
10
  var constants$1 = require('./base/constants.js');
11
+ var cookie = require('./base/cookie.js');
10
12
  var index$1 = require('./base/errors/index.js');
11
13
  var loglevel = require('./base/loglevel.js');
12
14
  var errors = require('./base/plugin/errors.js');
@@ -53,6 +55,10 @@ var wsEmbed = require('@web3auth/ws-embed');
53
55
 
54
56
 
55
57
 
58
+ exports.ANALYTICS_EVENTS = analytics.ANALYTICS_EVENTS;
59
+ exports.ANALYTICS_INTEGRATION_TYPE = analytics.ANALYTICS_INTEGRATION_TYPE;
60
+ exports.ANALYTICS_SDK_TYPE = analytics.ANALYTICS_SDK_TYPE;
61
+ exports.Analytics = analytics.Analytics;
56
62
  exports.CONNECTOR_NAMESPACES = IChainInterface.CONNECTOR_NAMESPACES;
57
63
  exports.Web3AuthContextKey = index.Web3AuthContextKey;
58
64
  exports.BaseConnector = baseConnector.BaseConnector;
@@ -88,9 +94,13 @@ exports.clearToken = utils.clearToken;
88
94
  exports.getSavedToken = utils.getSavedToken;
89
95
  exports.saveToken = utils.saveToken;
90
96
  exports.storageAvailable = utils.storageAvailable;
97
+ exports.LOGIN_MODE = constants$1.LOGIN_MODE;
91
98
  exports.MODAL_SIGN_IN_METHODS = constants$1.MODAL_SIGN_IN_METHODS;
92
99
  exports.SMART_ACCOUNT_WALLET_SCOPE = constants$1.SMART_ACCOUNT_WALLET_SCOPE;
100
+ exports.SOLANA_CAIP_CHAIN_MAP = constants$1.SOLANA_CAIP_CHAIN_MAP;
101
+ exports.WEB3AUTH_STATE_STORAGE_KEY = constants$1.WEB3AUTH_STATE_STORAGE_KEY;
93
102
  exports.WIDGET_TYPE = constants$1.WIDGET_TYPE;
103
+ exports.cookieToWeb3AuthState = cookie.cookieToWeb3AuthState;
94
104
  exports.WalletInitializationError = index$1.WalletInitializationError;
95
105
  exports.WalletLoginError = index$1.WalletLoginError;
96
106
  exports.WalletOperationsError = index$1.WalletOperationsError;
@@ -110,8 +120,16 @@ exports.fetchProjectConfig = utils$1.fetchProjectConfig;
110
120
  exports.fetchWalletRegistry = utils$1.fetchWalletRegistry;
111
121
  exports.fromViemChain = utils$1.fromViemChain;
112
122
  exports.fromWagmiChain = utils$1.fromWagmiChain;
123
+ exports.getAaAnalyticsProperties = utils$1.getAaAnalyticsProperties;
124
+ exports.getCaipChainId = utils$1.getCaipChainId;
125
+ exports.getErrorAnalyticsProperties = utils$1.getErrorAnalyticsProperties;
126
+ exports.getHostname = utils$1.getHostname;
127
+ exports.getWalletServicesAnalyticsProperties = utils$1.getWalletServicesAnalyticsProperties;
128
+ exports.getWhitelabelAnalyticsProperties = utils$1.getWhitelabelAnalyticsProperties;
129
+ exports.isBrowser = utils$1.isBrowser;
113
130
  exports.isHexStrict = utils$1.isHexStrict;
114
131
  exports.normalizeWalletName = utils$1.normalizeWalletName;
132
+ exports.sdkVersion = utils$1.sdkVersion;
115
133
  exports.signerHost = utils$1.signerHost;
116
134
  exports.withAbort = utils$1.withAbort;
117
135
  exports.CONNECTOR_NAMES = index$2.CONNECTOR_NAMES;
@@ -145,7 +163,6 @@ Object.defineProperty(exports, "DEFAULT_SOLANA_METHODS", {
145
163
  enumerable: true,
146
164
  get: function () { return config.DEFAULT_SOLANA_METHODS; }
147
165
  });
148
- exports.SOLANA_CAIP_CHAIN_MAP = config.SOLANA_CAIP_CHAIN_MAP;
149
166
  exports.getNamespacesFromChains = config.getNamespacesFromChains;
150
167
  exports.getRequiredNamespaces = config.getRequiredNamespaces;
151
168
  exports.getSupportedEventsByNamespace = config.getSupportedEventsByNamespace;