@dynamic-labs/ethereum 0.19.0-alpha.2 → 0.19.0-alpha.21
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/CHANGELOG.md +293 -0
- package/package.json +13 -10
- package/src/EthWalletConnector.cjs +189 -193
- package/src/EthWalletConnector.d.ts +298 -41
- package/src/EthWalletConnector.js +190 -194
- package/src/coinbase/client/client.cjs +76 -0
- package/src/coinbase/client/client.d.ts +6 -0
- package/src/coinbase/client/client.js +69 -0
- package/src/coinbase/client/index.d.ts +2 -0
- package/src/coinbase/client/types.d.ts +14 -0
- package/src/coinbase/coinbase.cjs +71 -0
- package/src/coinbase/coinbase.d.ts +535 -0
- package/src/coinbase/coinbase.js +67 -0
- package/src/coinbase/index.d.ts +3 -0
- package/src/constants.d.ts +1 -1
- package/src/ethProviderHelper.cjs +132 -209
- package/src/ethProviderHelper.d.ts +28 -36
- package/src/ethProviderHelper.js +133 -210
- package/src/index.cjs +30 -26
- package/src/index.d.ts +9 -8
- package/src/index.js +25 -20
- package/src/injected/BloctoInjected.cjs +6 -6
- package/src/injected/BloctoInjected.d.ts +4 -4
- package/src/injected/BloctoInjected.js +6 -6
- package/src/injected/BraveEvm.cjs +6 -6
- package/src/injected/BraveEvm.d.ts +4 -4
- package/src/injected/BraveEvm.js +6 -6
- package/src/injected/Dawn.cjs +6 -6
- package/src/injected/Dawn.d.ts +4 -4
- package/src/injected/Dawn.js +6 -6
- package/src/injected/ExodusEvm.cjs +8 -8
- package/src/injected/ExodusEvm.d.ts +5 -5
- package/src/injected/ExodusEvm.js +7 -7
- package/src/injected/Frame.cjs +6 -6
- package/src/injected/Frame.d.ts +4 -4
- package/src/injected/Frame.js +6 -6
- package/src/injected/GameStop.cjs +6 -6
- package/src/injected/GameStop.d.ts +4 -4
- package/src/injected/GameStop.js +6 -6
- package/src/injected/InjectedWalletBase.cjs +86 -65
- package/src/injected/InjectedWalletBase.d.ts +29 -24
- package/src/injected/InjectedWalletBase.js +86 -65
- package/src/injected/LegacyInjectedWalletBase.cjs +83 -0
- package/src/injected/LegacyInjectedWalletBase.d.ts +24 -0
- package/src/injected/LegacyInjectedWalletBase.js +81 -0
- package/src/injected/Opera.cjs +6 -6
- package/src/injected/Opera.d.ts +4 -4
- package/src/injected/Opera.js +6 -6
- package/src/injected/PhantomEvm.cjs +28 -28
- package/src/injected/PhantomEvm.d.ts +5 -5
- package/src/injected/PhantomEvm.js +28 -28
- package/src/injected/Rabby.cjs +8 -8
- package/src/injected/Rabby.d.ts +5 -5
- package/src/injected/Rabby.js +7 -7
- package/src/injected/Superb.cjs +6 -6
- package/src/injected/Superb.d.ts +4 -4
- package/src/injected/Superb.js +6 -6
- package/src/injected/Trust.cjs +8 -8
- package/src/injected/Trust.d.ts +5 -5
- package/src/injected/Trust.js +7 -7
- package/src/injected/Zerion.cjs +8 -8
- package/src/injected/Zerion.d.ts +5 -5
- package/src/injected/Zerion.js +7 -7
- package/src/injected/fetchInjectedWalletConnectors.cjs +33 -0
- package/src/injected/fetchInjectedWalletConnectors.d.ts +6 -0
- package/src/injected/fetchInjectedWalletConnectors.js +29 -0
- package/src/injected/index.d.ts +13 -16
- package/src/injected/legacyInjectedWallets.cjs +48 -0
- package/src/injected/legacyInjectedWallets.d.ts +3 -0
- package/src/injected/legacyInjectedWallets.js +43 -0
- package/src/legacyEthProviderHelper.cjs +187 -0
- package/src/legacyEthProviderHelper.d.ts +34 -0
- package/src/legacyEthProviderHelper.js +183 -0
- package/src/polyfills.cjs +11 -11
- package/src/polyfills.d.ts +1 -1
- package/src/polyfills.js +11 -11
- package/src/types.d.ts +37 -24
- package/src/utils/eventListenerHandlers.cjs +34 -0
- package/src/utils/eventListenerHandlers.d.ts +8 -0
- package/src/utils/eventListenerHandlers.js +30 -0
- package/src/utils/findEvmNetwork.cjs +13 -13
- package/src/utils/findEvmNetwork.d.ts +6 -6
- package/src/utils/findEvmNetwork.js +13 -13
- package/src/utils/isString.d.ts +1 -1
- package/src/utils/isUnsupportedProviderError/index.d.ts +1 -1
- package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.cjs +6 -6
- package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.d.ts +6 -6
- package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.js +6 -6
- package/src/utils/last.d.ts +1 -1
- package/src/utils/parseIntSafe.cjs +13 -13
- package/src/utils/parseIntSafe.d.ts +1 -1
- package/src/utils/parseIntSafe.js +13 -13
- package/src/walletConnect/client/client.cjs +179 -176
- package/src/walletConnect/client/client.d.ts +17 -17
- package/src/walletConnect/client/client.js +179 -176
- package/src/walletConnect/client/index.d.ts +1 -1
- package/src/walletConnect/client/types.d.ts +4 -4
- package/src/walletConnect/fetchWalletConnectWallets.cjs +37 -52
- package/src/walletConnect/fetchWalletConnectWallets.d.ts +9 -10
- package/src/walletConnect/fetchWalletConnectWallets.js +38 -52
- package/src/walletConnect/index.d.ts +3 -3
- package/src/walletConnect/walletConnect.cjs +131 -130
- package/src/walletConnect/walletConnect.d.ts +52 -50
- package/src/walletConnect/walletConnect.js +131 -130
- package/src/walletConnect/walletConnectV2.cjs +419 -374
- package/src/walletConnect/walletConnectV2.d.ts +326 -61
- package/src/walletConnect/walletConnectV2.js +420 -375
- package/src/injected/MetaMask.cjs +0 -15
- package/src/injected/MetaMask.d.ts +0 -5
- package/src/injected/MetaMask.js +0 -11
- package/src/injected/OKX.cjs +0 -15
- package/src/injected/OKX.d.ts +0 -5
- package/src/injected/OKX.js +0 -11
- package/src/injected/UnknownInjectedWallet.cjs +0 -14
- package/src/injected/UnknownInjectedWallet.d.ts +0 -4
- package/src/injected/UnknownInjectedWallet.js +0 -10
- package/src/injected/index.cjs +0 -53
- package/src/injected/index.js +0 -49
|
@@ -3,204 +3,200 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var _tslib = require('../_virtual/_tslib.cjs');
|
|
6
|
-
var
|
|
6
|
+
var viem = require('viem');
|
|
7
7
|
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
8
8
|
var utils = require('@dynamic-labs/utils');
|
|
9
9
|
var rpcProviders = require('@dynamic-labs/rpc-providers');
|
|
10
10
|
var findEvmNetwork = require('./utils/findEvmNetwork.cjs');
|
|
11
11
|
|
|
12
|
-
class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
13
|
-
|
|
14
|
-
var _a, _b, _c;
|
|
15
|
-
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
16
|
-
const networkId = (_a = (yield this.getNetwork())) !== null && _a !== void 0 ? _a : 1;
|
|
17
|
-
if (this.evmNetworks.length === 0) {
|
|
18
|
-
return undefined;
|
|
19
|
-
}
|
|
20
|
-
const configurations = {
|
|
21
|
-
cosmos: [],
|
|
22
|
-
evm: this.evmNetworks,
|
|
23
|
-
solana: [],
|
|
24
|
-
starknet: undefined,
|
|
25
|
-
};
|
|
26
|
-
return (_c = (_b = this.chainRpcProviders) === null || _b === void 0 ? void 0 : _b.getEvmProviderByChainId(configurations, networkId)) === null || _c === void 0 ? void 0 : _c.provider;
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
constructor(props) {
|
|
30
|
-
var _a;
|
|
31
|
-
super(props);
|
|
32
|
-
this.evmNetworkRpcMap = () => this.evmNetworks.reduce((acc, network) => {
|
|
33
|
-
var _a;
|
|
34
|
-
[acc[network.chainId]] = ((_a = network === null || network === void 0 ? void 0 : network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a.length)
|
|
35
|
-
? network.privateCustomerRpcUrls
|
|
36
|
-
: network.rpcUrls;
|
|
37
|
-
return acc;
|
|
38
|
-
}, {});
|
|
39
|
-
this.evmNetworks = utils.parseEvmNetworks(props.evmNetworks);
|
|
40
|
-
this.chainRpcProviders = props.chainRpcProviders;
|
|
41
|
-
(_a = this.chainRpcProviders) === null || _a === void 0 ? void 0 : _a.registerChainProviders(rpcProviders.ProviderChain.EVM, (config) => {
|
|
42
|
-
const rpcProviders = {};
|
|
43
|
-
if (config === null || config === void 0 ? void 0 : config.evm) {
|
|
44
|
-
rpcProviders.evm = utils.parseEvmNetworks(config.evm).map((network) => {
|
|
45
|
-
var _a;
|
|
46
|
-
const rpcUrl = ((_a = network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) || network.rpcUrls[0];
|
|
47
|
-
const provider =
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
return
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
return
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
if (!
|
|
128
|
-
throw new utils.DynamicError(
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
});
|
|
203
|
-
}
|
|
12
|
+
class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
13
|
+
getPublicClient() {
|
|
14
|
+
var _a, _b, _c;
|
|
15
|
+
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
16
|
+
const networkId = (_a = (yield this.getNetwork())) !== null && _a !== void 0 ? _a : 1;
|
|
17
|
+
if (this.evmNetworks.length === 0) {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
const configurations = {
|
|
21
|
+
cosmos: [],
|
|
22
|
+
evm: this.evmNetworks,
|
|
23
|
+
solana: [],
|
|
24
|
+
starknet: undefined,
|
|
25
|
+
};
|
|
26
|
+
return (_c = (_b = this.chainRpcProviders) === null || _b === void 0 ? void 0 : _b.getEvmProviderByChainId(configurations, networkId)) === null || _c === void 0 ? void 0 : _c.provider;
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
constructor(props) {
|
|
30
|
+
var _a;
|
|
31
|
+
super(props);
|
|
32
|
+
this.evmNetworkRpcMap = () => this.evmNetworks.reduce((acc, network) => {
|
|
33
|
+
var _a;
|
|
34
|
+
[acc[network.chainId]] = ((_a = network === null || network === void 0 ? void 0 : network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a.length)
|
|
35
|
+
? network.privateCustomerRpcUrls
|
|
36
|
+
: network.rpcUrls;
|
|
37
|
+
return acc;
|
|
38
|
+
}, {});
|
|
39
|
+
this.evmNetworks = utils.parseEvmNetworks(props.evmNetworks);
|
|
40
|
+
this.chainRpcProviders = props.chainRpcProviders;
|
|
41
|
+
(_a = this.chainRpcProviders) === null || _a === void 0 ? void 0 : _a.registerChainProviders(rpcProviders.ProviderChain.EVM, (config) => {
|
|
42
|
+
const rpcProviders = {};
|
|
43
|
+
if (config === null || config === void 0 ? void 0 : config.evm) {
|
|
44
|
+
rpcProviders.evm = utils.parseEvmNetworks(config.evm).map((network) => {
|
|
45
|
+
var _a;
|
|
46
|
+
const rpcUrl = ((_a = network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) || network.rpcUrls[0];
|
|
47
|
+
const provider = viem.createPublicClient({
|
|
48
|
+
chain: utils.getOrMapViemChain(network),
|
|
49
|
+
transport: viem.http(rpcUrl),
|
|
50
|
+
});
|
|
51
|
+
return {
|
|
52
|
+
chainId: network.chainId,
|
|
53
|
+
chainName: network.name,
|
|
54
|
+
provider,
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return rpcProviders.evm;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
getNetwork() {
|
|
62
|
+
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
const provider = this.getWalletClient();
|
|
64
|
+
if (!this.supportsNetworkSwitching || !provider) {
|
|
65
|
+
return Promise.resolve(undefined);
|
|
66
|
+
}
|
|
67
|
+
return utils.retryableFn(provider.getChainId, {
|
|
68
|
+
fallbackValue: utils.FALLBACK_UNDEFINED,
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
getNameService() {
|
|
73
|
+
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
const [[address], rpcProvider] = yield Promise.all([
|
|
75
|
+
this.getConnectedAccounts(),
|
|
76
|
+
this.getPublicClient(),
|
|
77
|
+
]);
|
|
78
|
+
if (!address || !rpcProvider) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const ensName = yield rpcProvider.getEnsName({
|
|
82
|
+
address: address,
|
|
83
|
+
});
|
|
84
|
+
const ensAvatar = ensName
|
|
85
|
+
? yield rpcProvider.getEnsAvatar({
|
|
86
|
+
name: ensName,
|
|
87
|
+
})
|
|
88
|
+
: undefined;
|
|
89
|
+
const ensData = {
|
|
90
|
+
avatar: ensAvatar !== null && ensAvatar !== void 0 ? ensAvatar : undefined,
|
|
91
|
+
name: ensName !== null && ensName !== void 0 ? ensName : undefined,
|
|
92
|
+
};
|
|
93
|
+
return ensData;
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
getSigner() {
|
|
97
|
+
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
98
|
+
return this.getWalletClient();
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
getBalance() {
|
|
102
|
+
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
103
|
+
// This is equivalent to getSigner().getAddress() but does not crash
|
|
104
|
+
// if the signer is not available
|
|
105
|
+
const [address] = yield this.getConnectedAccounts();
|
|
106
|
+
if (!address)
|
|
107
|
+
return;
|
|
108
|
+
const client = yield this.getPublicClient();
|
|
109
|
+
const result = yield (client === null || client === void 0 ? void 0 : client.getBalance({
|
|
110
|
+
address: address,
|
|
111
|
+
}));
|
|
112
|
+
if (!result && result !== BigInt(0))
|
|
113
|
+
return;
|
|
114
|
+
return viem.formatEther(result);
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
supportsNetworkSwitching() {
|
|
118
|
+
return true;
|
|
119
|
+
}
|
|
120
|
+
switchNetwork({ networkName, networkChainId, }) {
|
|
121
|
+
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
122
|
+
const network = findEvmNetwork.findEvmNetwork({
|
|
123
|
+
chainId: networkChainId,
|
|
124
|
+
name: networkName,
|
|
125
|
+
networks: this.evmNetworks,
|
|
126
|
+
});
|
|
127
|
+
if (!network) {
|
|
128
|
+
throw new utils.DynamicError(`Could not find network mapping for chain ${networkName ? networkName : networkChainId}`);
|
|
129
|
+
}
|
|
130
|
+
if (!this.supportsNetworkSwitching()) {
|
|
131
|
+
throw new utils.DynamicError('Network switching is not supported');
|
|
132
|
+
}
|
|
133
|
+
const provider = this.getWalletClient();
|
|
134
|
+
if (!provider) {
|
|
135
|
+
throw new utils.DynamicError('Provider not found');
|
|
136
|
+
}
|
|
137
|
+
return this.providerSwitchNetwork({ network, provider });
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
getConnectedAccounts() {
|
|
141
|
+
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
142
|
+
const provider = this.getWalletClient();
|
|
143
|
+
if (!provider)
|
|
144
|
+
return [];
|
|
145
|
+
return utils.retryableFn(provider.getAddresses, {
|
|
146
|
+
fallbackValue: [],
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
providerSwitchNetwork({ network, provider, }) {
|
|
151
|
+
var _a, _b, _c;
|
|
152
|
+
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
153
|
+
const { chainId } = network;
|
|
154
|
+
const currentNetworkId = yield this.getNetwork();
|
|
155
|
+
if (currentNetworkId && currentNetworkId === chainId) {
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
try {
|
|
159
|
+
if (!this.supportsNetworkSwitching()) {
|
|
160
|
+
throw new utils.DynamicError('Network switching is not supported');
|
|
161
|
+
}
|
|
162
|
+
return yield provider.switchChain(utils.getOrMapViemChain(network));
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
if (((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('rejected')) ||
|
|
166
|
+
(typeof error === 'string' && error.includes('rejected'))) {
|
|
167
|
+
throw new utils.DynamicError("User rejected the wallet's request to switch network");
|
|
168
|
+
}
|
|
169
|
+
else if (error.code === 4902 ||
|
|
170
|
+
error.message.includes('Unrecognized chain') ||
|
|
171
|
+
// https://github.com/MetaMask/metamask-mobile/issues/3312#issuecomment-1065923294
|
|
172
|
+
((_c = (_b = error === null || error === void 0 ? void 0 : error.data) === null || _b === void 0 ? void 0 : _b.orginalError) === null || _c === void 0 ? void 0 : _c.code) === 4902) {
|
|
173
|
+
// error code indicates the chain has not been added yet
|
|
174
|
+
// https://docs.metamask.io/guide/rpc-api.html#usage-with-wallet-switchethereumchain
|
|
175
|
+
return this.providerAddNetwork({ network, provider });
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
throw error;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
providerAddNetwork({ network, provider, }) {
|
|
184
|
+
var _a;
|
|
185
|
+
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
186
|
+
try {
|
|
187
|
+
return yield provider.addChain({ chain: utils.getOrMapViemChain(network) });
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
if (((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('rejected')) ||
|
|
191
|
+
(typeof error === 'string' && error.includes('rejected'))) {
|
|
192
|
+
throw new utils.DynamicError("User rejected the wallet's request to add network");
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
throw error;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
}
|
|
204
200
|
}
|
|
205
201
|
|
|
206
202
|
exports.EthWalletConnector = EthWalletConnector;
|