@wagmi/connectors 3.1.11-cjs → 3.1.11
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/chunk-OQILYQDO.js +4 -4
- package/dist/chunk-P4NRLOY7.js +65 -65
- package/dist/chunk-UGBGYVBH.js +5 -5
- package/dist/chunk-W65LBPLT.js +13 -13
- package/dist/coinbaseWallet.js +51 -51
- package/dist/index.js +16 -16
- package/dist/injected.js +9 -9
- package/dist/metaMask.js +34 -34
- package/dist/mock/index.js +55 -55
- package/dist/safe.js +42 -42
- package/dist/walletConnect.js +101 -101
- package/dist/walletConnectLegacy.js +51 -51
- package/package.json +2 -1
package/dist/chunk-OQILYQDO.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/utils/normalizeChainId.ts
|
|
2
2
|
function normalizeChainId(chainId) {
|
|
3
3
|
if (typeof chainId === "string")
|
|
4
4
|
return Number.parseInt(
|
|
@@ -10,6 +10,6 @@ function normalizeChainId(chainId) {
|
|
|
10
10
|
return chainId;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
export {
|
|
14
|
+
normalizeChainId
|
|
15
|
+
};
|
package/dist/chunk-P4NRLOY7.js
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
import {
|
|
2
|
+
ChainNotConfiguredForConnectorError,
|
|
3
|
+
ConnectorNotFoundError
|
|
4
|
+
} from "./chunk-UGBGYVBH.js";
|
|
5
|
+
import {
|
|
6
|
+
normalizeChainId
|
|
7
|
+
} from "./chunk-OQILYQDO.js";
|
|
8
|
+
import {
|
|
9
|
+
Connector,
|
|
10
|
+
__privateAdd,
|
|
11
|
+
__privateGet,
|
|
12
|
+
__privateSet
|
|
13
|
+
} from "./chunk-W65LBPLT.js";
|
|
14
14
|
|
|
15
15
|
// src/injected.ts
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
16
|
+
import {
|
|
17
|
+
ResourceUnavailableRpcError,
|
|
18
|
+
SwitchChainError,
|
|
19
|
+
UserRejectedRequestError,
|
|
20
|
+
createWalletClient,
|
|
21
|
+
custom,
|
|
22
|
+
getAddress,
|
|
23
|
+
numberToHex
|
|
24
|
+
} from "viem";
|
|
25
25
|
|
|
26
26
|
// src/utils/getInjectedName.ts
|
|
27
27
|
function getInjectedName(ethereum) {
|
|
@@ -125,7 +125,7 @@ function getInjectedName(ethereum) {
|
|
|
125
125
|
if (provider.isMetaMask)
|
|
126
126
|
return "MetaMask";
|
|
127
127
|
};
|
|
128
|
-
if (
|
|
128
|
+
if (ethereum.providers?.length) {
|
|
129
129
|
const nameSet = /* @__PURE__ */ new Set();
|
|
130
130
|
let unknownCount = 1;
|
|
131
131
|
for (const provider of ethereum.providers) {
|
|
@@ -139,14 +139,14 @@ function getInjectedName(ethereum) {
|
|
|
139
139
|
const names = [...nameSet];
|
|
140
140
|
if (names.length)
|
|
141
141
|
return names;
|
|
142
|
-
return
|
|
142
|
+
return names[0] ?? "Injected";
|
|
143
143
|
}
|
|
144
|
-
return
|
|
144
|
+
return getName(ethereum) ?? "Injected";
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
// src/injected.ts
|
|
148
148
|
var _provider;
|
|
149
|
-
var InjectedConnector = class extends
|
|
149
|
+
var InjectedConnector = class extends Connector {
|
|
150
150
|
constructor({
|
|
151
151
|
chains,
|
|
152
152
|
options: options_
|
|
@@ -157,7 +157,7 @@ var InjectedConnector = class extends _chunkW65LBPLTjs.Connector {
|
|
|
157
157
|
if (typeof window === "undefined")
|
|
158
158
|
return;
|
|
159
159
|
const ethereum = window.ethereum;
|
|
160
|
-
if (
|
|
160
|
+
if (ethereum?.providers && ethereum.providers.length > 0)
|
|
161
161
|
return ethereum.providers[0];
|
|
162
162
|
return ethereum;
|
|
163
163
|
},
|
|
@@ -165,18 +165,18 @@ var InjectedConnector = class extends _chunkW65LBPLTjs.Connector {
|
|
|
165
165
|
};
|
|
166
166
|
super({ chains, options });
|
|
167
167
|
this.id = "injected";
|
|
168
|
-
|
|
168
|
+
__privateAdd(this, _provider, void 0);
|
|
169
169
|
this.shimDisconnectKey = `${this.id}.shimDisconnect`;
|
|
170
170
|
this.onAccountsChanged = (accounts) => {
|
|
171
171
|
if (accounts.length === 0)
|
|
172
172
|
this.emit("disconnect");
|
|
173
173
|
else
|
|
174
174
|
this.emit("change", {
|
|
175
|
-
account:
|
|
175
|
+
account: getAddress(accounts[0])
|
|
176
176
|
});
|
|
177
177
|
};
|
|
178
178
|
this.onChainChanged = (chainId) => {
|
|
179
|
-
const id =
|
|
179
|
+
const id = normalizeChainId(chainId);
|
|
180
180
|
const unsupported = this.isChainUnsupported(id);
|
|
181
181
|
this.emit("change", { chain: { id, unsupported } });
|
|
182
182
|
};
|
|
@@ -191,7 +191,7 @@ var InjectedConnector = class extends _chunkW65LBPLTjs.Connector {
|
|
|
191
191
|
}
|
|
192
192
|
this.emit("disconnect");
|
|
193
193
|
if (this.options.shimDisconnect)
|
|
194
|
-
|
|
194
|
+
this.storage?.removeItem(this.shimDisconnectKey);
|
|
195
195
|
};
|
|
196
196
|
const provider = options.getProvider();
|
|
197
197
|
if (typeof options.name === "string")
|
|
@@ -214,7 +214,7 @@ var InjectedConnector = class extends _chunkW65LBPLTjs.Connector {
|
|
|
214
214
|
try {
|
|
215
215
|
const provider = await this.getProvider();
|
|
216
216
|
if (!provider)
|
|
217
|
-
throw new
|
|
217
|
+
throw new ConnectorNotFoundError();
|
|
218
218
|
if (provider.on) {
|
|
219
219
|
provider.on("accountsChanged", this.onAccountsChanged);
|
|
220
220
|
provider.on("chainChanged", this.onChainChanged);
|
|
@@ -224,7 +224,7 @@ var InjectedConnector = class extends _chunkW65LBPLTjs.Connector {
|
|
|
224
224
|
const accounts = await provider.request({
|
|
225
225
|
method: "eth_requestAccounts"
|
|
226
226
|
});
|
|
227
|
-
const account =
|
|
227
|
+
const account = getAddress(accounts[0]);
|
|
228
228
|
let id = await this.getChainId();
|
|
229
229
|
let unsupported = this.isChainUnsupported(id);
|
|
230
230
|
if (chainId && id !== chainId) {
|
|
@@ -233,46 +233,46 @@ var InjectedConnector = class extends _chunkW65LBPLTjs.Connector {
|
|
|
233
233
|
unsupported = this.isChainUnsupported(id);
|
|
234
234
|
}
|
|
235
235
|
if (this.options.shimDisconnect)
|
|
236
|
-
|
|
236
|
+
this.storage?.setItem(this.shimDisconnectKey, true);
|
|
237
237
|
return { account, chain: { id, unsupported } };
|
|
238
238
|
} catch (error) {
|
|
239
239
|
if (this.isUserRejectedRequestError(error))
|
|
240
|
-
throw new
|
|
240
|
+
throw new UserRejectedRequestError(error);
|
|
241
241
|
if (error.code === -32002)
|
|
242
|
-
throw new
|
|
242
|
+
throw new ResourceUnavailableRpcError(error);
|
|
243
243
|
throw error;
|
|
244
244
|
}
|
|
245
245
|
}
|
|
246
246
|
async disconnect() {
|
|
247
247
|
const provider = await this.getProvider();
|
|
248
|
-
if (!
|
|
248
|
+
if (!provider?.removeListener)
|
|
249
249
|
return;
|
|
250
250
|
provider.removeListener("accountsChanged", this.onAccountsChanged);
|
|
251
251
|
provider.removeListener("chainChanged", this.onChainChanged);
|
|
252
252
|
provider.removeListener("disconnect", this.onDisconnect);
|
|
253
253
|
if (this.options.shimDisconnect)
|
|
254
|
-
|
|
254
|
+
this.storage?.removeItem(this.shimDisconnectKey);
|
|
255
255
|
}
|
|
256
256
|
async getAccount() {
|
|
257
257
|
const provider = await this.getProvider();
|
|
258
258
|
if (!provider)
|
|
259
|
-
throw new
|
|
259
|
+
throw new ConnectorNotFoundError();
|
|
260
260
|
const accounts = await provider.request({
|
|
261
261
|
method: "eth_accounts"
|
|
262
262
|
});
|
|
263
|
-
return
|
|
263
|
+
return getAddress(accounts[0]);
|
|
264
264
|
}
|
|
265
265
|
async getChainId() {
|
|
266
266
|
const provider = await this.getProvider();
|
|
267
267
|
if (!provider)
|
|
268
|
-
throw new
|
|
269
|
-
return provider.request({ method: "eth_chainId" }).then(
|
|
268
|
+
throw new ConnectorNotFoundError();
|
|
269
|
+
return provider.request({ method: "eth_chainId" }).then(normalizeChainId);
|
|
270
270
|
}
|
|
271
271
|
async getProvider() {
|
|
272
272
|
const provider = this.options.getProvider();
|
|
273
273
|
if (provider)
|
|
274
|
-
|
|
275
|
-
return
|
|
274
|
+
__privateSet(this, _provider, provider);
|
|
275
|
+
return __privateGet(this, _provider);
|
|
276
276
|
}
|
|
277
277
|
async getWalletClient({
|
|
278
278
|
chainId
|
|
@@ -284,30 +284,30 @@ var InjectedConnector = class extends _chunkW65LBPLTjs.Connector {
|
|
|
284
284
|
const chain = this.chains.find((x) => x.id === chainId);
|
|
285
285
|
if (!provider)
|
|
286
286
|
throw new Error("provider is required.");
|
|
287
|
-
return
|
|
287
|
+
return createWalletClient({
|
|
288
288
|
account,
|
|
289
289
|
chain,
|
|
290
|
-
transport:
|
|
290
|
+
transport: custom(provider)
|
|
291
291
|
});
|
|
292
292
|
}
|
|
293
293
|
async isAuthorized() {
|
|
294
294
|
try {
|
|
295
|
-
if (this.options.shimDisconnect && !
|
|
295
|
+
if (this.options.shimDisconnect && !this.storage?.getItem(this.shimDisconnectKey))
|
|
296
296
|
return false;
|
|
297
297
|
const provider = await this.getProvider();
|
|
298
298
|
if (!provider)
|
|
299
|
-
throw new
|
|
299
|
+
throw new ConnectorNotFoundError();
|
|
300
300
|
const account = await this.getAccount();
|
|
301
301
|
return !!account;
|
|
302
|
-
} catch
|
|
302
|
+
} catch {
|
|
303
303
|
return false;
|
|
304
304
|
}
|
|
305
305
|
}
|
|
306
306
|
async switchChain(chainId) {
|
|
307
307
|
const provider = await this.getProvider();
|
|
308
308
|
if (!provider)
|
|
309
|
-
throw new
|
|
310
|
-
const id =
|
|
309
|
+
throw new ConnectorNotFoundError();
|
|
310
|
+
const id = numberToHex(chainId);
|
|
311
311
|
try {
|
|
312
312
|
await Promise.all([
|
|
313
313
|
provider.request({
|
|
@@ -316,26 +316,26 @@ var InjectedConnector = class extends _chunkW65LBPLTjs.Connector {
|
|
|
316
316
|
}),
|
|
317
317
|
new Promise(
|
|
318
318
|
(res) => this.on("change", ({ chain }) => {
|
|
319
|
-
if (
|
|
319
|
+
if (chain?.id === chainId)
|
|
320
320
|
res();
|
|
321
321
|
})
|
|
322
322
|
)
|
|
323
323
|
]);
|
|
324
|
-
return
|
|
324
|
+
return this.chains.find((x) => x.id === chainId) ?? {
|
|
325
325
|
id: chainId,
|
|
326
326
|
name: `Chain ${id}`,
|
|
327
327
|
network: `${id}`,
|
|
328
328
|
nativeCurrency: { name: "Ether", decimals: 18, symbol: "ETH" },
|
|
329
329
|
rpcUrls: { default: { http: [""] }, public: { http: [""] } }
|
|
330
|
-
}
|
|
330
|
+
};
|
|
331
331
|
} catch (error) {
|
|
332
332
|
const chain = this.chains.find((x) => x.id === chainId);
|
|
333
333
|
if (!chain)
|
|
334
|
-
throw new
|
|
334
|
+
throw new ChainNotConfiguredForConnectorError({
|
|
335
335
|
chainId,
|
|
336
336
|
connectorId: this.id
|
|
337
337
|
});
|
|
338
|
-
if (error.code === 4902 ||
|
|
338
|
+
if (error.code === 4902 || error?.data?.originalError?.code === 4902) {
|
|
339
339
|
try {
|
|
340
340
|
await provider.request({
|
|
341
341
|
method: "wallet_addEthereumChain",
|
|
@@ -344,24 +344,24 @@ var InjectedConnector = class extends _chunkW65LBPLTjs.Connector {
|
|
|
344
344
|
chainId: id,
|
|
345
345
|
chainName: chain.name,
|
|
346
346
|
nativeCurrency: chain.nativeCurrency,
|
|
347
|
-
rpcUrls: [
|
|
347
|
+
rpcUrls: [chain.rpcUrls.public?.http[0] ?? ""],
|
|
348
348
|
blockExplorerUrls: this.getBlockExplorerUrls(chain)
|
|
349
349
|
}
|
|
350
350
|
]
|
|
351
351
|
});
|
|
352
352
|
const currentChainId = await this.getChainId();
|
|
353
353
|
if (currentChainId !== chainId)
|
|
354
|
-
throw new
|
|
354
|
+
throw new UserRejectedRequestError(
|
|
355
355
|
new Error("User rejected switch after adding network.")
|
|
356
356
|
);
|
|
357
357
|
return chain;
|
|
358
358
|
} catch (error2) {
|
|
359
|
-
throw new
|
|
359
|
+
throw new UserRejectedRequestError(error2);
|
|
360
360
|
}
|
|
361
361
|
}
|
|
362
362
|
if (this.isUserRejectedRequestError(error))
|
|
363
|
-
throw new
|
|
364
|
-
throw new
|
|
363
|
+
throw new UserRejectedRequestError(error);
|
|
364
|
+
throw new SwitchChainError(error);
|
|
365
365
|
}
|
|
366
366
|
}
|
|
367
367
|
async watchAsset({
|
|
@@ -372,7 +372,7 @@ var InjectedConnector = class extends _chunkW65LBPLTjs.Connector {
|
|
|
372
372
|
}) {
|
|
373
373
|
const provider = await this.getProvider();
|
|
374
374
|
if (!provider)
|
|
375
|
-
throw new
|
|
375
|
+
throw new ConnectorNotFoundError();
|
|
376
376
|
return provider.request({
|
|
377
377
|
method: "wallet_watchAsset",
|
|
378
378
|
params: {
|
|
@@ -392,6 +392,6 @@ var InjectedConnector = class extends _chunkW65LBPLTjs.Connector {
|
|
|
392
392
|
};
|
|
393
393
|
_provider = new WeakMap();
|
|
394
394
|
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
395
|
+
export {
|
|
396
|
+
InjectedConnector
|
|
397
|
+
};
|
package/dist/chunk-UGBGYVBH.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/errors.ts
|
|
2
2
|
var ChainNotConfiguredForConnectorError = class extends Error {
|
|
3
3
|
constructor({
|
|
4
4
|
chainId,
|
|
@@ -16,7 +16,7 @@ var ConnectorNotFoundError = class extends Error {
|
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
export {
|
|
20
|
+
ChainNotConfiguredForConnectorError,
|
|
21
|
+
ConnectorNotFoundError
|
|
22
|
+
};
|
package/dist/chunk-W65LBPLT.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
var __accessCheck = (obj, member, msg) => {
|
|
2
2
|
if (!member.has(obj))
|
|
3
3
|
throw TypeError("Cannot " + msg);
|
|
4
4
|
};
|
|
@@ -22,11 +22,11 @@ var __privateMethod = (obj, member, method) => {
|
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
// src/base.ts
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
var Connector = class extends
|
|
25
|
+
import { default as EventEmitter } from "eventemitter3";
|
|
26
|
+
import { goerli, mainnet } from "viem/chains";
|
|
27
|
+
var Connector = class extends EventEmitter {
|
|
28
28
|
constructor({
|
|
29
|
-
chains = [
|
|
29
|
+
chains = [mainnet, goerli],
|
|
30
30
|
options
|
|
31
31
|
}) {
|
|
32
32
|
super();
|
|
@@ -34,7 +34,7 @@ var Connector = class extends _eventemitter32.default {
|
|
|
34
34
|
this.options = options;
|
|
35
35
|
}
|
|
36
36
|
getBlockExplorerUrls(chain) {
|
|
37
|
-
const { default: blockExplorer, ...blockExplorers } =
|
|
37
|
+
const { default: blockExplorer, ...blockExplorers } = chain.blockExplorers ?? {};
|
|
38
38
|
if (blockExplorer)
|
|
39
39
|
return [
|
|
40
40
|
blockExplorer.url,
|
|
@@ -49,10 +49,10 @@ var Connector = class extends _eventemitter32.default {
|
|
|
49
49
|
}
|
|
50
50
|
};
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
52
|
+
export {
|
|
53
|
+
__privateGet,
|
|
54
|
+
__privateAdd,
|
|
55
|
+
__privateSet,
|
|
56
|
+
__privateMethod,
|
|
57
|
+
Connector
|
|
58
|
+
};
|
package/dist/coinbaseWallet.js
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import {
|
|
2
|
+
ChainNotConfiguredForConnectorError
|
|
3
|
+
} from "./chunk-UGBGYVBH.js";
|
|
4
|
+
import {
|
|
5
|
+
normalizeChainId
|
|
6
|
+
} from "./chunk-OQILYQDO.js";
|
|
7
|
+
import {
|
|
8
|
+
Connector,
|
|
9
|
+
__privateAdd,
|
|
10
|
+
__privateGet,
|
|
11
|
+
__privateSet
|
|
12
|
+
} from "./chunk-W65LBPLT.js";
|
|
13
13
|
|
|
14
14
|
// src/coinbaseWallet.ts
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
15
|
+
import {
|
|
16
|
+
SwitchChainError,
|
|
17
|
+
UserRejectedRequestError,
|
|
18
|
+
createWalletClient,
|
|
19
|
+
custom,
|
|
20
|
+
getAddress,
|
|
21
|
+
numberToHex
|
|
22
|
+
} from "viem";
|
|
23
23
|
var _client, _provider;
|
|
24
|
-
var CoinbaseWalletConnector = class extends
|
|
24
|
+
var CoinbaseWalletConnector = class extends Connector {
|
|
25
25
|
constructor({ chains, options }) {
|
|
26
26
|
super({
|
|
27
27
|
chains,
|
|
@@ -33,16 +33,16 @@ var CoinbaseWalletConnector = class extends _chunkW65LBPLTjs.Connector {
|
|
|
33
33
|
this.id = "coinbaseWallet";
|
|
34
34
|
this.name = "Coinbase Wallet";
|
|
35
35
|
this.ready = true;
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
__privateAdd(this, _client, void 0);
|
|
37
|
+
__privateAdd(this, _provider, void 0);
|
|
38
38
|
this.onAccountsChanged = (accounts) => {
|
|
39
39
|
if (accounts.length === 0)
|
|
40
40
|
this.emit("disconnect");
|
|
41
41
|
else
|
|
42
|
-
this.emit("change", { account:
|
|
42
|
+
this.emit("change", { account: getAddress(accounts[0]) });
|
|
43
43
|
};
|
|
44
44
|
this.onChainChanged = (chainId) => {
|
|
45
|
-
const id =
|
|
45
|
+
const id = normalizeChainId(chainId);
|
|
46
46
|
const unsupported = this.isChainUnsupported(id);
|
|
47
47
|
this.emit("change", { chain: { id, unsupported } });
|
|
48
48
|
};
|
|
@@ -58,7 +58,7 @@ var CoinbaseWalletConnector = class extends _chunkW65LBPLTjs.Connector {
|
|
|
58
58
|
provider.on("disconnect", this.onDisconnect);
|
|
59
59
|
this.emit("message", { type: "connecting" });
|
|
60
60
|
const accounts = await provider.enable();
|
|
61
|
-
const account =
|
|
61
|
+
const account = getAddress(accounts[0]);
|
|
62
62
|
let id = await this.getChainId();
|
|
63
63
|
let unsupported = this.isChainUnsupported(id);
|
|
64
64
|
if (chainId && id !== chainId) {
|
|
@@ -74,12 +74,12 @@ var CoinbaseWalletConnector = class extends _chunkW65LBPLTjs.Connector {
|
|
|
74
74
|
if (/(user closed modal|accounts received is empty)/i.test(
|
|
75
75
|
error.message
|
|
76
76
|
))
|
|
77
|
-
throw new
|
|
77
|
+
throw new UserRejectedRequestError(error);
|
|
78
78
|
throw error;
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
async disconnect() {
|
|
82
|
-
if (!
|
|
82
|
+
if (!__privateGet(this, _provider))
|
|
83
83
|
return;
|
|
84
84
|
const provider = await this.getProvider();
|
|
85
85
|
provider.removeListener("accountsChanged", this.onAccountsChanged);
|
|
@@ -93,32 +93,32 @@ var CoinbaseWalletConnector = class extends _chunkW65LBPLTjs.Connector {
|
|
|
93
93
|
const accounts = await provider.request({
|
|
94
94
|
method: "eth_accounts"
|
|
95
95
|
});
|
|
96
|
-
return
|
|
96
|
+
return getAddress(accounts[0]);
|
|
97
97
|
}
|
|
98
98
|
async getChainId() {
|
|
99
99
|
const provider = await this.getProvider();
|
|
100
|
-
const chainId =
|
|
100
|
+
const chainId = normalizeChainId(provider.chainId);
|
|
101
101
|
return chainId;
|
|
102
102
|
}
|
|
103
103
|
async getProvider() {
|
|
104
|
-
if (!
|
|
105
|
-
let CoinbaseWalletSDK = (await
|
|
104
|
+
if (!__privateGet(this, _provider)) {
|
|
105
|
+
let CoinbaseWalletSDK = (await import("@coinbase/wallet-sdk")).default;
|
|
106
106
|
if (typeof CoinbaseWalletSDK !== "function" && typeof CoinbaseWalletSDK.default === "function")
|
|
107
107
|
CoinbaseWalletSDK = CoinbaseWalletSDK.default;
|
|
108
|
-
|
|
108
|
+
__privateSet(this, _client, new CoinbaseWalletSDK(this.options));
|
|
109
109
|
class WalletProvider {
|
|
110
110
|
}
|
|
111
111
|
class Client {
|
|
112
112
|
}
|
|
113
|
-
const walletExtensionChainId =
|
|
113
|
+
const walletExtensionChainId = __privateGet(this, _client).walletExtension?.getChainId();
|
|
114
114
|
const chain = this.chains.find(
|
|
115
115
|
(chain2) => this.options.chainId ? chain2.id === this.options.chainId : chain2.id === walletExtensionChainId
|
|
116
116
|
) || this.chains[0];
|
|
117
|
-
const chainId = this.options.chainId ||
|
|
118
|
-
const jsonRpcUrl = this.options.jsonRpcUrl ||
|
|
119
|
-
|
|
117
|
+
const chainId = this.options.chainId || chain?.id;
|
|
118
|
+
const jsonRpcUrl = this.options.jsonRpcUrl || chain?.rpcUrls.default.http[0];
|
|
119
|
+
__privateSet(this, _provider, __privateGet(this, _client).makeWeb3Provider(jsonRpcUrl, chainId));
|
|
120
120
|
}
|
|
121
|
-
return
|
|
121
|
+
return __privateGet(this, _provider);
|
|
122
122
|
}
|
|
123
123
|
async getWalletClient({
|
|
124
124
|
chainId
|
|
@@ -130,39 +130,39 @@ var CoinbaseWalletConnector = class extends _chunkW65LBPLTjs.Connector {
|
|
|
130
130
|
const chain = this.chains.find((x) => x.id === chainId);
|
|
131
131
|
if (!provider)
|
|
132
132
|
throw new Error("provider is required.");
|
|
133
|
-
return
|
|
133
|
+
return createWalletClient({
|
|
134
134
|
account,
|
|
135
135
|
chain,
|
|
136
|
-
transport:
|
|
136
|
+
transport: custom(provider)
|
|
137
137
|
});
|
|
138
138
|
}
|
|
139
139
|
async isAuthorized() {
|
|
140
140
|
try {
|
|
141
141
|
const account = await this.getAccount();
|
|
142
142
|
return !!account;
|
|
143
|
-
} catch
|
|
143
|
+
} catch {
|
|
144
144
|
return false;
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
async switchChain(chainId) {
|
|
148
148
|
const provider = await this.getProvider();
|
|
149
|
-
const id =
|
|
149
|
+
const id = numberToHex(chainId);
|
|
150
150
|
try {
|
|
151
151
|
await provider.request({
|
|
152
152
|
method: "wallet_switchEthereumChain",
|
|
153
153
|
params: [{ chainId: id }]
|
|
154
154
|
});
|
|
155
|
-
return
|
|
155
|
+
return this.chains.find((x) => x.id === chainId) ?? {
|
|
156
156
|
id: chainId,
|
|
157
157
|
name: `Chain ${id}`,
|
|
158
158
|
network: `${id}`,
|
|
159
159
|
nativeCurrency: { name: "Ether", decimals: 18, symbol: "ETH" },
|
|
160
160
|
rpcUrls: { default: { http: [""] }, public: { http: [""] } }
|
|
161
|
-
}
|
|
161
|
+
};
|
|
162
162
|
} catch (error) {
|
|
163
163
|
const chain = this.chains.find((x) => x.id === chainId);
|
|
164
164
|
if (!chain)
|
|
165
|
-
throw new
|
|
165
|
+
throw new ChainNotConfiguredForConnectorError({
|
|
166
166
|
chainId,
|
|
167
167
|
connectorId: this.id
|
|
168
168
|
});
|
|
@@ -175,17 +175,17 @@ var CoinbaseWalletConnector = class extends _chunkW65LBPLTjs.Connector {
|
|
|
175
175
|
chainId: id,
|
|
176
176
|
chainName: chain.name,
|
|
177
177
|
nativeCurrency: chain.nativeCurrency,
|
|
178
|
-
rpcUrls: [
|
|
178
|
+
rpcUrls: [chain.rpcUrls.public?.http[0] ?? ""],
|
|
179
179
|
blockExplorerUrls: this.getBlockExplorerUrls(chain)
|
|
180
180
|
}
|
|
181
181
|
]
|
|
182
182
|
});
|
|
183
183
|
return chain;
|
|
184
184
|
} catch (error2) {
|
|
185
|
-
throw new
|
|
185
|
+
throw new UserRejectedRequestError(error2);
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
|
-
throw new
|
|
188
|
+
throw new SwitchChainError(error);
|
|
189
189
|
}
|
|
190
190
|
}
|
|
191
191
|
async watchAsset({
|
|
@@ -211,6 +211,6 @@ var CoinbaseWalletConnector = class extends _chunkW65LBPLTjs.Connector {
|
|
|
211
211
|
};
|
|
212
212
|
_client = new WeakMap();
|
|
213
213
|
_provider = new WeakMap();
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
214
|
+
export {
|
|
215
|
+
CoinbaseWalletConnector
|
|
216
|
+
};
|
package/dist/index.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import {
|
|
2
|
+
ChainNotConfiguredForConnectorError,
|
|
3
|
+
ConnectorNotFoundError
|
|
4
|
+
} from "./chunk-UGBGYVBH.js";
|
|
5
|
+
import {
|
|
6
|
+
normalizeChainId
|
|
7
|
+
} from "./chunk-OQILYQDO.js";
|
|
8
|
+
import {
|
|
9
|
+
Connector
|
|
10
|
+
} from "./chunk-W65LBPLT.js";
|
|
11
|
+
export {
|
|
12
|
+
ChainNotConfiguredForConnectorError,
|
|
13
|
+
Connector,
|
|
14
|
+
ConnectorNotFoundError,
|
|
15
|
+
normalizeChainId
|
|
16
|
+
};
|
package/dist/injected.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import {
|
|
2
|
+
InjectedConnector
|
|
3
|
+
} from "./chunk-P4NRLOY7.js";
|
|
4
|
+
import "./chunk-UGBGYVBH.js";
|
|
5
|
+
import "./chunk-OQILYQDO.js";
|
|
6
|
+
import "./chunk-W65LBPLT.js";
|
|
7
|
+
export {
|
|
8
|
+
InjectedConnector
|
|
9
|
+
};
|