@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.
- package/dist/lib.cjs/base/analytics.js +121 -0
- package/dist/lib.cjs/base/connector/constants.js +2 -1
- package/dist/lib.cjs/base/constants.js +13 -0
- package/dist/lib.cjs/base/cookie.js +38 -0
- package/dist/lib.cjs/base/deserialize.js +13 -0
- package/dist/lib.cjs/base/errors/index.js +2 -2
- package/dist/lib.cjs/base/utils.js +112 -9
- package/dist/lib.cjs/base/wallet/index.js +3 -3
- package/dist/lib.cjs/connectors/auth-connector/authConnector.js +40 -63
- package/dist/lib.cjs/connectors/base-evm-connector/baseEvmConnector.js +5 -2
- package/dist/lib.cjs/connectors/base-solana-connector/baseSolanaConnector.js +5 -2
- package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +11 -4
- package/dist/lib.cjs/connectors/injected-evm-connector/injectedEvmConnector.js +10 -4
- package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +10 -5
- package/dist/lib.cjs/connectors/metamask-connector/metamaskConnector.js +19 -8
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +2 -1
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/config.js +11 -9
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/index.js +0 -1
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +9 -4
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +6 -5
- package/dist/lib.cjs/index.js +18 -1
- package/dist/lib.cjs/noModal.js +367 -101
- package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +3 -1
- package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +3 -1
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +10 -5
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +3 -2
- package/dist/lib.cjs/providers/base-provider/baseProvider.js +2 -1
- package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +2 -1
- package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +2 -1
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +2 -1
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +4 -2
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +4 -2
- package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +3 -1
- package/dist/lib.cjs/react/context/WalletServicesInnerContext.js +4 -2
- package/dist/lib.cjs/react/context/Web3AuthInnerContext.js +21 -16
- package/dist/lib.cjs/react/hooks/useCheckout.js +4 -2
- package/dist/lib.cjs/react/hooks/useIdentityToken.js +3 -3
- package/dist/lib.cjs/react/hooks/useSwap.js +4 -2
- package/dist/lib.cjs/react/hooks/useWalletConnectScanner.js +4 -2
- package/dist/lib.cjs/react/hooks/useWalletUI.js +4 -2
- package/dist/lib.cjs/react/hooks/useWeb3AuthInner.js +4 -2
- package/dist/lib.cjs/react/solana/hooks/useSolanaWallet.js +8 -3
- package/dist/lib.cjs/react/wagmi/constants.js +16 -0
- package/dist/lib.cjs/react/wagmi/provider.js +16 -12
- package/dist/lib.cjs/types/base/analytics.d.ts +42 -0
- package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +2 -2
- package/dist/lib.cjs/types/base/connector/constants.d.ts +1 -0
- package/dist/lib.cjs/types/base/connector/interfaces.d.ts +3 -2
- package/dist/lib.cjs/types/base/constants.d.ts +6 -0
- package/dist/lib.cjs/types/base/cookie.d.ts +10 -0
- package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +31 -11
- package/dist/lib.cjs/types/base/deserialize.d.ts +3 -0
- package/dist/lib.cjs/types/base/errors/index.d.ts +1 -1
- package/dist/lib.cjs/types/base/index.d.ts +2 -0
- package/dist/lib.cjs/types/base/interfaces.d.ts +9 -1
- package/dist/lib.cjs/types/base/utils.d.ts +50 -3
- package/dist/lib.cjs/types/base/wallet/index.d.ts +4 -2
- package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +1 -1
- package/dist/lib.cjs/types/connectors/auth-connector/interface.d.ts +1 -1
- package/dist/lib.cjs/types/connectors/base-evm-connector/baseEvmConnector.d.ts +2 -2
- package/dist/lib.cjs/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +2 -2
- package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/config.d.ts +0 -1
- package/dist/lib.cjs/types/noModal.d.ts +18 -9
- package/dist/lib.cjs/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +4 -1
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/converter.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +0 -1
- package/dist/lib.cjs/types/react/hooks/useIdentityToken.d.ts +2 -2
- package/dist/lib.cjs/types/react/interfaces.d.ts +2 -1
- package/dist/lib.cjs/types/react/wagmi/constants.d.ts +43 -0
- package/dist/lib.cjs/types/react/wagmi/provider.d.ts +1 -2
- package/dist/lib.cjs/types/vue/composables/useIdentityToken.d.ts +1 -1
- package/dist/lib.cjs/types/vue/wagmi/constants.d.ts +43 -0
- package/dist/lib.cjs/types/vue/wagmi/provider.d.ts +1 -0
- package/dist/lib.cjs/vue/WalletServicesInnerProvider.js +4 -2
- package/dist/lib.cjs/vue/Web3AuthProvider.js +7 -1
- package/dist/lib.cjs/vue/composables/useCheckout.js +4 -2
- package/dist/lib.cjs/vue/composables/useEnableMFA.js +4 -2
- package/dist/lib.cjs/vue/composables/useIdentityToken.js +7 -5
- package/dist/lib.cjs/vue/composables/useManageMFA.js +5 -3
- package/dist/lib.cjs/vue/composables/useSwap.js +4 -2
- package/dist/lib.cjs/vue/composables/useSwitchChain.js +4 -2
- package/dist/lib.cjs/vue/composables/useWalletConnectScanner.js +4 -2
- package/dist/lib.cjs/vue/composables/useWalletUI.js +4 -2
- package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +4 -2
- package/dist/lib.cjs/vue/composables/useWeb3AuthDisconnect.js +4 -2
- package/dist/lib.cjs/vue/composables/useWeb3AuthInner.js +4 -2
- package/dist/lib.cjs/vue/composables/useWeb3AuthUser.js +4 -2
- package/dist/lib.cjs/vue/solana/composables/useSolanaWallet.js +24 -15
- package/dist/lib.cjs/vue/wagmi/constants.js +16 -0
- package/dist/lib.cjs/vue/wagmi/provider.js +34 -16
- package/dist/lib.esm/base/analytics.js +117 -0
- package/dist/lib.esm/base/connector/constants.js +2 -1
- package/dist/lib.esm/base/constants.js +11 -1
- package/dist/lib.esm/base/cookie.js +34 -0
- package/dist/lib.esm/base/deserialize.js +11 -0
- package/dist/lib.esm/base/errors/index.js +2 -2
- package/dist/lib.esm/base/utils.js +104 -7
- package/dist/lib.esm/base/wallet/index.js +3 -3
- package/dist/lib.esm/connectors/auth-connector/authConnector.js +41 -65
- package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +1 -1
- package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +1 -1
- package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +9 -3
- package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +7 -3
- package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +7 -4
- package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +17 -7
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/config.js +8 -7
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/index.js +1 -1
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +8 -4
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +1 -1
- package/dist/lib.esm/index.js +5 -3
- package/dist/lib.esm/noModal.js +378 -107
- package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +8 -4
- package/dist/lib.esm/react/context/Web3AuthInnerContext.js +22 -17
- package/dist/lib.esm/react/hooks/useIdentityToken.js +3 -3
- package/dist/lib.esm/react/solana/hooks/useSolanaWallet.js +5 -0
- package/dist/lib.esm/react/wagmi/constants.js +14 -0
- package/dist/lib.esm/react/wagmi/provider.js +16 -12
- package/dist/lib.esm/vue/Web3AuthProvider.js +7 -1
- package/dist/lib.esm/vue/composables/useIdentityToken.js +3 -3
- package/dist/lib.esm/vue/composables/useManageMFA.js +1 -1
- package/dist/lib.esm/vue/solana/composables/useSolanaWallet.js +21 -13
- package/dist/lib.esm/vue/wagmi/constants.js +14 -0
- package/dist/lib.esm/vue/wagmi/provider.js +35 -15
- package/dist/noModal.umd.min.js +1 -1
- package/dist/noModal.umd.min.js.LICENSE.txt +4 -6
- 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
|
|
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
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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
|
|
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
|
-
|
|
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/
|
|
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
|
-
|
|
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
|
|
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.
|
|
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
|
|
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/
|
|
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:${
|
|
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:${
|
|
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;
|
package/dist/lib.cjs/index.js
CHANGED
|
@@ -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;
|