@wagmi/core 0.2.4 → 0.3.1

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 (74) hide show
  1. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +28 -21
  2. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +28 -21
  3. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +28 -21
  4. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +28 -15
  5. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +28 -15
  6. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +23 -10
  7. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +7 -6
  8. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +7 -6
  9. package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +5 -4
  10. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +26 -8
  11. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +26 -8
  12. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +24 -6
  13. package/dist/{base-5812b724.cjs.dev.js → base-3a506159.cjs.dev.js} +129 -67
  14. package/dist/{base-159de546.esm.js → base-997b4fec.esm.js} +98 -38
  15. package/dist/{base-59f3457e.cjs.prod.js → base-cb4198f3.cjs.prod.js} +129 -67
  16. package/dist/{client-7fcff803.esm.js → client-1ab99bf8.esm.js} +55 -46
  17. package/dist/{client-65157905.cjs.dev.js → client-db513093.cjs.dev.js} +57 -48
  18. package/dist/{client-a06853e2.cjs.prod.js → client-edc73358.cjs.prod.js} +57 -48
  19. package/dist/declarations/src/actions/accounts/connect.d.ts +4 -4
  20. package/dist/declarations/src/actions/accounts/getAccount.d.ts +3 -3
  21. package/dist/declarations/src/actions/accounts/signTypedData.d.ts +15 -6
  22. package/dist/declarations/src/actions/accounts/watchAccount.d.ts +3 -3
  23. package/dist/declarations/src/actions/providers/getProvider.d.ts +3 -3
  24. package/dist/declarations/src/actions/providers/getWebSocketProvider.d.ts +3 -3
  25. package/dist/declarations/src/actions/providers/watchProvider.d.ts +3 -3
  26. package/dist/declarations/src/actions/providers/watchWebSocketProvider.d.ts +3 -3
  27. package/dist/declarations/src/chains/configureChains.d.ts +20 -0
  28. package/dist/declarations/src/chains/index.d.ts +2 -0
  29. package/dist/declarations/src/client.d.ts +12 -12
  30. package/dist/declarations/src/connectors/injected.d.ts +2 -2
  31. package/dist/declarations/src/connectors/metaMask.d.ts +1 -1
  32. package/dist/declarations/src/constants/index.d.ts +1 -1
  33. package/dist/declarations/src/errors.d.ts +48 -4
  34. package/dist/declarations/src/index.d.ts +8 -6
  35. package/dist/declarations/src/providers/alchemy.d.ts +7 -0
  36. package/dist/declarations/src/providers/infura.d.ts +7 -0
  37. package/dist/declarations/src/providers/jsonRpc.d.ts +11 -0
  38. package/dist/declarations/src/providers/public.d.ts +6 -0
  39. package/dist/declarations/src/storage.d.ts +2 -2
  40. package/dist/declarations/src/types/index.d.ts +66 -27
  41. package/dist/rpcs-7cfbd91c.esm.js +30 -0
  42. package/dist/rpcs-9c4eb960.cjs.dev.js +35 -0
  43. package/dist/rpcs-b3c52116.cjs.prod.js +35 -0
  44. package/dist/wagmi-core.cjs.dev.js +125 -26
  45. package/dist/wagmi-core.cjs.prod.js +125 -26
  46. package/dist/wagmi-core.esm.js +123 -25
  47. package/package.json +29 -8
  48. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.d.ts +1 -0
  49. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.dev.js +38 -0
  50. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.js +7 -0
  51. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.prod.js +38 -0
  52. package/providers/alchemy/dist/wagmi-core-providers-alchemy.esm.js +34 -0
  53. package/providers/alchemy/package.json +4 -0
  54. package/providers/infura/dist/wagmi-core-providers-infura.cjs.d.ts +1 -0
  55. package/providers/infura/dist/wagmi-core-providers-infura.cjs.dev.js +38 -0
  56. package/providers/infura/dist/wagmi-core-providers-infura.cjs.js +7 -0
  57. package/providers/infura/dist/wagmi-core-providers-infura.cjs.prod.js +38 -0
  58. package/providers/infura/dist/wagmi-core-providers-infura.esm.js +34 -0
  59. package/providers/infura/package.json +4 -0
  60. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.d.ts +1 -0
  61. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.dev.js +45 -0
  62. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.js +7 -0
  63. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.prod.js +45 -0
  64. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.esm.js +41 -0
  65. package/providers/jsonRpc/package.json +4 -0
  66. package/providers/public/dist/wagmi-core-providers-public.cjs.d.ts +1 -0
  67. package/providers/public/dist/wagmi-core-providers-public.cjs.dev.js +34 -0
  68. package/providers/public/dist/wagmi-core-providers-public.cjs.js +7 -0
  69. package/providers/public/dist/wagmi-core-providers-public.cjs.prod.js +34 -0
  70. package/providers/public/dist/wagmi-core-providers-public.esm.js +30 -0
  71. package/providers/public/package.json +4 -0
  72. package/dist/classPrivateMethodGet-55c9909f.esm.js +0 -16
  73. package/dist/classPrivateMethodGet-976c8120.cjs.dev.js +0 -19
  74. package/dist/classPrivateMethodGet-d7330ed7.cjs.prod.js +0 -19
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var EventEmitter = require('eventemitter3');
4
+ var rpcs = require('./rpcs-b3c52116.cjs.prod.js');
4
5
 
5
6
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
6
7
 
@@ -12,6 +13,11 @@ function _checkPrivateRedeclaration(obj, privateCollection) {
12
13
  }
13
14
  }
14
15
 
16
+ function _classPrivateMethodInitSpec(obj, privateSet) {
17
+ _checkPrivateRedeclaration(obj, privateSet);
18
+ privateSet.add(obj);
19
+ }
20
+
15
21
  function _classPrivateFieldInitSpec(obj, privateMap, value) {
16
22
  _checkPrivateRedeclaration(obj, privateMap);
17
23
  privateMap.set(obj, value);
@@ -53,6 +59,14 @@ function _classPrivateFieldGet(receiver, privateMap) {
53
59
  return _classApplyDescriptorGet(receiver, descriptor);
54
60
  }
55
61
 
62
+ function _classPrivateMethodGet(receiver, privateSet, fn) {
63
+ if (!privateSet.has(receiver)) {
64
+ throw new TypeError("attempted to get private field on non-instance");
65
+ }
66
+
67
+ return fn;
68
+ }
69
+
56
70
  function _classApplyDescriptorSet(receiver, descriptor, value) {
57
71
  if (descriptor.set) {
58
72
  descriptor.set.call(receiver, value);
@@ -118,34 +132,6 @@ const etherscanBlockExplorers = {
118
132
  }
119
133
  };
120
134
 
121
- const defaultAlchemyId = '_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC';
122
- const alchemyRpcUrls = {
123
- mainnet: 'https://eth-mainnet.alchemyapi.io/v2',
124
- ropsten: 'https://eth-ropsten.alchemyapi.io/v2',
125
- rinkeby: 'https://eth-rinkeby.alchemyapi.io/v2',
126
- goerli: 'https://eth-goerli.alchemyapi.io/v2',
127
- kovan: 'https://eth-kovan.alchemyapi.io/v2',
128
- optimism: 'https://opt-mainnet.g.alchemy.com/v2',
129
- optimismKovan: 'https://opt-kovan.g.alchemy.com/v2',
130
- polygon: 'https://polygon-mainnet.g.alchemy.com/v2',
131
- polygonMumbai: 'https://polygon-mumbai.g.alchemy.com/v2',
132
- arbitrum: 'https://arb-mainnet.g.alchemy.com/v2',
133
- arbitrumRinkeby: 'https://arb-rinkeby.g.alchemy.com/v2'
134
- };
135
- const infuraRpcUrls = {
136
- mainnet: 'https://mainnet.infura.io/v3',
137
- ropsten: 'https://ropsten.infura.io/v3',
138
- rinkeby: 'https://rinkeby.infura.io/v3',
139
- goerli: 'https://goerli.infura.io/v3',
140
- kovan: 'https://kovan.infura.io/v3',
141
- optimism: 'https://optimism-mainnet.infura.io/v3',
142
- optimismKovan: 'https://optimism-kovan.infura.io/v3',
143
- polygon: 'https://polygon-mainnet.infura.io/v3',
144
- polygonMumbai: 'https://polygon-mumbai.infura.io/v3',
145
- arbitrum: 'https://arbitrum-mainnet.infura.io/v3',
146
- arbitrumRinkeby: 'https://arbitrum-rinkeby.infura.io/v3'
147
- };
148
-
149
135
  const chainId = {
150
136
  mainnet: 1,
151
137
  ropsten: 3,
@@ -165,15 +151,16 @@ const chain = {
165
151
  mainnet: {
166
152
  id: chainId.mainnet,
167
153
  name: 'Ethereum',
154
+ network: 'homestead',
168
155
  nativeCurrency: {
169
156
  name: 'Ether',
170
157
  symbol: 'ETH',
171
158
  decimals: 18
172
159
  },
173
160
  rpcUrls: {
174
- alchemy: alchemyRpcUrls.mainnet,
175
- infura: infuraRpcUrls.mainnet,
176
- default: "".concat(alchemyRpcUrls.mainnet, "/").concat(defaultAlchemyId)
161
+ alchemy: rpcs.alchemyRpcUrls.mainnet,
162
+ infura: rpcs.infuraRpcUrls.mainnet,
163
+ default: "".concat(rpcs.alchemyRpcUrls.mainnet, "/").concat(rpcs.defaultAlchemyId)
177
164
  },
178
165
  blockExplorers: {
179
166
  etherscan: etherscanBlockExplorers.mainnet,
@@ -183,15 +170,16 @@ const chain = {
183
170
  ropsten: {
184
171
  id: chainId.ropsten,
185
172
  name: 'Ropsten',
173
+ network: 'ropsten',
186
174
  nativeCurrency: {
187
175
  name: 'Ropsten Ether',
188
176
  symbol: 'ropETH',
189
177
  decimals: 18
190
178
  },
191
179
  rpcUrls: {
192
- alchemy: alchemyRpcUrls.ropsten,
193
- infura: infuraRpcUrls.ropsten,
194
- default: "".concat(alchemyRpcUrls.ropsten, "/").concat(defaultAlchemyId)
180
+ alchemy: rpcs.alchemyRpcUrls.ropsten,
181
+ infura: rpcs.infuraRpcUrls.ropsten,
182
+ default: "".concat(rpcs.alchemyRpcUrls.ropsten, "/").concat(rpcs.defaultAlchemyId)
195
183
  },
196
184
  blockExplorers: {
197
185
  etherscan: etherscanBlockExplorers.ropsten,
@@ -202,15 +190,16 @@ const chain = {
202
190
  rinkeby: {
203
191
  id: chainId.rinkeby,
204
192
  name: 'Rinkeby',
193
+ network: 'rinkeby',
205
194
  nativeCurrency: {
206
195
  name: 'Rinkeby Ether',
207
196
  symbol: 'rETH',
208
197
  decimals: 18
209
198
  },
210
199
  rpcUrls: {
211
- alchemy: alchemyRpcUrls.rinkeby,
212
- infura: infuraRpcUrls.rinkeby,
213
- default: "".concat(alchemyRpcUrls.rinkeby, "/").concat(defaultAlchemyId)
200
+ alchemy: rpcs.alchemyRpcUrls.rinkeby,
201
+ infura: rpcs.infuraRpcUrls.rinkeby,
202
+ default: "".concat(rpcs.alchemyRpcUrls.rinkeby, "/").concat(rpcs.defaultAlchemyId)
214
203
  },
215
204
  blockExplorers: {
216
205
  etherscan: etherscanBlockExplorers.rinkeby,
@@ -221,15 +210,16 @@ const chain = {
221
210
  goerli: {
222
211
  id: chainId.goerli,
223
212
  name: 'Goerli',
213
+ network: 'goerli',
224
214
  nativeCurrency: {
225
215
  name: 'Goerli Ether',
226
216
  symbol: 'gETH',
227
217
  decimals: 18
228
218
  },
229
219
  rpcUrls: {
230
- alchemy: alchemyRpcUrls.goerli,
231
- infura: infuraRpcUrls.goerli,
232
- default: "".concat(alchemyRpcUrls.goerli, "/").concat(defaultAlchemyId)
220
+ alchemy: rpcs.alchemyRpcUrls.goerli,
221
+ infura: rpcs.infuraRpcUrls.goerli,
222
+ default: "".concat(rpcs.alchemyRpcUrls.goerli, "/").concat(rpcs.defaultAlchemyId)
233
223
  },
234
224
  blockExplorers: {
235
225
  etherscan: etherscanBlockExplorers.goerli,
@@ -240,15 +230,16 @@ const chain = {
240
230
  kovan: {
241
231
  id: chainId.kovan,
242
232
  name: 'Kovan',
233
+ network: 'kovan',
243
234
  nativeCurrency: {
244
235
  name: 'Kovan Ether',
245
236
  symbol: 'kETH',
246
237
  decimals: 18
247
238
  },
248
239
  rpcUrls: {
249
- alchemy: alchemyRpcUrls.kovan,
250
- infura: infuraRpcUrls.kovan,
251
- default: "".concat(alchemyRpcUrls.kovan, "/").concat(defaultAlchemyId)
240
+ alchemy: rpcs.alchemyRpcUrls.kovan,
241
+ infura: rpcs.infuraRpcUrls.kovan,
242
+ default: "".concat(rpcs.alchemyRpcUrls.kovan, "/").concat(rpcs.defaultAlchemyId)
252
243
  },
253
244
  blockExplorers: {
254
245
  etherscan: etherscanBlockExplorers.kovan,
@@ -259,14 +250,15 @@ const chain = {
259
250
  optimism: {
260
251
  id: chainId.optimism,
261
252
  name: 'Optimism',
253
+ network: 'optimism',
262
254
  nativeCurrency: {
263
255
  name: 'Ether',
264
256
  symbol: 'ETH',
265
257
  decimals: 18
266
258
  },
267
259
  rpcUrls: {
268
- alchemy: alchemyRpcUrls.optimism,
269
- infura: infuraRpcUrls.optimism,
260
+ alchemy: rpcs.alchemyRpcUrls.optimism,
261
+ infura: rpcs.infuraRpcUrls.optimism,
270
262
  default: 'https://mainnet.optimism.io'
271
263
  },
272
264
  blockExplorers: {
@@ -277,14 +269,15 @@ const chain = {
277
269
  optimismKovan: {
278
270
  id: chainId.optimismKovan,
279
271
  name: 'Optimism Kovan',
272
+ network: 'optimism-kovan',
280
273
  nativeCurrency: {
281
274
  name: 'Kovan Ether',
282
275
  symbol: 'KOR',
283
276
  decimals: 18
284
277
  },
285
278
  rpcUrls: {
286
- alchemy: alchemyRpcUrls.optimismKovan,
287
- infura: infuraRpcUrls.optimismKovan,
279
+ alchemy: rpcs.alchemyRpcUrls.optimismKovan,
280
+ infura: rpcs.infuraRpcUrls.optimismKovan,
288
281
  default: 'https://kovan.optimism.io'
289
282
  },
290
283
  blockExplorers: {
@@ -296,14 +289,15 @@ const chain = {
296
289
  polygon: {
297
290
  id: chainId.polygon,
298
291
  name: 'Polygon',
292
+ network: 'matic',
299
293
  nativeCurrency: {
300
294
  name: 'MATIC',
301
295
  symbol: 'MATIC',
302
296
  decimals: 18
303
297
  },
304
298
  rpcUrls: {
305
- alchemy: alchemyRpcUrls.polygon,
306
- infura: infuraRpcUrls.polygon,
299
+ alchemy: rpcs.alchemyRpcUrls.polygon,
300
+ infura: rpcs.infuraRpcUrls.polygon,
307
301
  default: 'https://polygon-rpc.com'
308
302
  },
309
303
  blockExplorers: {
@@ -314,14 +308,15 @@ const chain = {
314
308
  polygonMumbai: {
315
309
  id: chainId.polygonMumbai,
316
310
  name: 'Polygon Mumbai',
311
+ network: 'maticmum',
317
312
  nativeCurrency: {
318
313
  name: 'MATIC',
319
314
  symbol: 'MATIC',
320
315
  decimals: 18
321
316
  },
322
317
  rpcUrls: {
323
- alchemy: alchemyRpcUrls.polygonMumbai,
324
- infura: infuraRpcUrls.polygonMumbai,
318
+ alchemy: rpcs.alchemyRpcUrls.polygonMumbai,
319
+ infura: rpcs.infuraRpcUrls.polygonMumbai,
325
320
  default: 'https://matic-mumbai.chainstacklabs.com'
326
321
  },
327
322
  blockExplorers: {
@@ -333,14 +328,15 @@ const chain = {
333
328
  arbitrum: {
334
329
  id: chainId.arbitrum,
335
330
  name: 'Arbitrum',
331
+ network: 'arbitrum',
336
332
  nativeCurrency: {
337
333
  name: 'Ether',
338
334
  symbol: 'AETH',
339
335
  decimals: 18
340
336
  },
341
337
  rpcUrls: {
342
- alchemy: alchemyRpcUrls.arbitrum,
343
- infura: infuraRpcUrls.arbitrum,
338
+ alchemy: rpcs.alchemyRpcUrls.arbitrum,
339
+ infura: rpcs.infuraRpcUrls.arbitrum,
344
340
  default: 'https://arb1.arbitrum.io/rpc'
345
341
  },
346
342
  blockExplorers: {
@@ -355,14 +351,15 @@ const chain = {
355
351
  arbitrumRinkeby: {
356
352
  id: chainId.arbitrumRinkeby,
357
353
  name: 'Arbitrum Rinkeby',
354
+ network: 'arbitrum-rinkeby',
358
355
  nativeCurrency: {
359
356
  name: 'Arbitrum Rinkeby Ether',
360
357
  symbol: 'ARETH',
361
358
  decimals: 18
362
359
  },
363
360
  rpcUrls: {
364
- alchemy: alchemyRpcUrls.arbitrumRinkeby,
365
- infura: infuraRpcUrls.arbitrumRinkeby,
361
+ alchemy: rpcs.alchemyRpcUrls.arbitrumRinkeby,
362
+ infura: rpcs.infuraRpcUrls.arbitrumRinkeby,
366
363
  default: 'https://rinkeby.arbitrum.io/rpc'
367
364
  },
368
365
  blockExplorers: {
@@ -378,6 +375,7 @@ const chain = {
378
375
  localhost: {
379
376
  id: chainId.localhost,
380
377
  name: 'Localhost',
378
+ network: 'localhost',
381
379
  rpcUrls: {
382
380
  default: 'http://127.0.0.1:8545'
383
381
  }
@@ -385,6 +383,7 @@ const chain = {
385
383
  hardhat: {
386
384
  id: chainId.hardhat,
387
385
  name: 'Hardhat',
386
+ network: 'hardhat',
388
387
  rpcUrls: {
389
388
  default: 'http://127.0.0.1:8545'
390
389
  }
@@ -399,6 +398,63 @@ function normalizeChainId(chainId) {
399
398
  return chainId;
400
399
  }
401
400
 
401
+ /**
402
+ * Error subclass implementing JSON RPC 2.0 errors and Ethereum RPC errors per EIP-1474.
403
+ * @see https://eips.ethereum.org/EIPS/eip-1474
404
+ */
405
+ class RpcError extends Error {
406
+ constructor(
407
+ /** Number error code */
408
+ code,
409
+ /** Human-readable string */
410
+ message,
411
+ /** Low-level error */
412
+ internal,
413
+ /** Other useful information about error */
414
+ data) {
415
+ if (!Number.isInteger(code)) throw new Error('"code" must be an integer.');
416
+ if (!message || typeof message !== 'string') throw new Error('"message" must be a nonempty string.');
417
+ super(message);
418
+
419
+ _defineProperty(this, "code", void 0);
420
+
421
+ _defineProperty(this, "data", void 0);
422
+
423
+ _defineProperty(this, "internal", void 0);
424
+
425
+ this.code = code;
426
+ this.data = data;
427
+ this.internal = internal;
428
+ }
429
+
430
+ }
431
+ /**
432
+ * Error subclass implementing Ethereum Provider errors per EIP-1193.
433
+ * @see https://eips.ethereum.org/EIPS/eip-1193
434
+ */
435
+
436
+ class ProviderRpcError extends RpcError {
437
+ /**
438
+ * Create an Ethereum Provider JSON-RPC error.
439
+ * `code` must be an integer in the 1000 <= 4999 range.
440
+ */
441
+ constructor(
442
+ /**
443
+ * Number error code
444
+ * @see https://eips.ethereum.org/EIPS/eip-1193#error-standards
445
+ */
446
+ code,
447
+ /** Human-readable string */
448
+ message,
449
+ /** Low-level error */
450
+ internal,
451
+ /** Other useful information about error */
452
+ data) {
453
+ if (!(Number.isInteger(code) && code >= 1000 && code <= 4999)) throw new Error('"code" must be an integer such that: 1000 <= code <= 4999');
454
+ super(code, message, internal, data);
455
+ }
456
+
457
+ }
402
458
  class AddChainError extends Error {
403
459
  constructor() {
404
460
  super(...arguments);
@@ -439,13 +495,11 @@ class ConnectorNotFoundError extends Error {
439
495
  }
440
496
 
441
497
  }
442
- class SwitchChainError extends Error {
443
- constructor() {
444
- super(...arguments);
498
+ class SwitchChainError extends ProviderRpcError {
499
+ constructor(error) {
500
+ super(4902, 'Error switching chain', error);
445
501
 
446
502
  _defineProperty(this, "name", 'SwitchChainError');
447
-
448
- _defineProperty(this, "message", 'Error switching chain');
449
503
  }
450
504
 
451
505
  }
@@ -459,13 +513,19 @@ class SwitchChainNotSupportedError extends Error {
459
513
  }
460
514
 
461
515
  }
462
- class UserRejectedRequestError extends Error {
463
- constructor() {
464
- super(...arguments);
516
+ class UserRejectedRequestError extends ProviderRpcError {
517
+ constructor(error) {
518
+ super(4001, 'User rejected request', error);
465
519
 
466
520
  _defineProperty(this, "name", 'UserRejectedRequestError');
521
+ }
522
+
523
+ }
524
+ class ResourceUnavailableError extends RpcError {
525
+ constructor(error) {
526
+ super(-32002, 'Resource unavailable', error);
467
527
 
468
- _defineProperty(this, "message", 'User rejected request');
528
+ _defineProperty(this, "name", 'ResourceUnavailable');
469
529
  }
470
530
 
471
531
  }
@@ -521,20 +581,22 @@ exports.ChainNotConfiguredError = ChainNotConfiguredError;
521
581
  exports.Connector = Connector;
522
582
  exports.ConnectorAlreadyConnectedError = ConnectorAlreadyConnectedError;
523
583
  exports.ConnectorNotFoundError = ConnectorNotFoundError;
584
+ exports.ProviderRpcError = ProviderRpcError;
585
+ exports.ResourceUnavailableError = ResourceUnavailableError;
586
+ exports.RpcError = RpcError;
524
587
  exports.SwitchChainError = SwitchChainError;
525
588
  exports.SwitchChainNotSupportedError = SwitchChainNotSupportedError;
526
589
  exports.UserRejectedRequestError = UserRejectedRequestError;
527
- exports._checkPrivateRedeclaration = _checkPrivateRedeclaration;
528
590
  exports._classPrivateFieldGet = _classPrivateFieldGet;
529
591
  exports._classPrivateFieldInitSpec = _classPrivateFieldInitSpec;
530
592
  exports._classPrivateFieldSet = _classPrivateFieldSet;
593
+ exports._classPrivateMethodGet = _classPrivateMethodGet;
594
+ exports._classPrivateMethodInitSpec = _classPrivateMethodInitSpec;
531
595
  exports._defineProperty = _defineProperty;
532
- exports.alchemyRpcUrls = alchemyRpcUrls;
533
596
  exports.allChains = allChains;
534
597
  exports.chain = chain;
535
598
  exports.chainId = chainId;
536
599
  exports.defaultChains = defaultChains;
537
600
  exports.defaultL2Chains = defaultL2Chains;
538
601
  exports.etherscanBlockExplorers = etherscanBlockExplorers;
539
- exports.infuraRpcUrls = infuraRpcUrls;
540
602
  exports.normalizeChainId = normalizeChainId;
@@ -1,5 +1,4 @@
1
- import { _ as _classPrivateMethodInitSpec, a as _classPrivateMethodGet } from './classPrivateMethodGet-55c9909f.esm.js';
2
- import { c as Connector, _ as _defineProperty, m as _classPrivateFieldInitSpec, n as normalizeChainId, b as ConnectorNotFoundError, U as UserRejectedRequestError, o as _classPrivateFieldSet, p as _classPrivateFieldGet, a as allChains, k as ChainNotConfiguredError, A as AddChainError, l as SwitchChainError } from './base-159de546.esm.js';
1
+ import { c as Connector, _ as _classPrivateMethodInitSpec, l as _defineProperty, m as _classPrivateFieldInitSpec, n as normalizeChainId, b as ConnectorNotFoundError, o as _classPrivateMethodGet, U as UserRejectedRequestError, R as ResourceUnavailableError, p as _classPrivateFieldSet, q as _classPrivateFieldGet, a as allChains, i as ChainNotConfiguredError, A as AddChainError, k as SwitchChainError } from './base-997b4fec.esm.js';
3
2
  import { providers, getDefaultProvider } from 'ethers';
4
3
  import create from 'zustand/vanilla';
5
4
  import { subscribeWithSelector, persist } from 'zustand/middleware';
@@ -14,11 +13,13 @@ function getInjectedName(ethereum) {
14
13
  if (provider.isBraveWallet) return 'Brave Wallet';
15
14
  if (provider.isCoinbaseWallet) return 'Coinbase Wallet';
16
15
  if (provider.isFrame) return 'Frame';
16
+ if (provider.isOpera) return 'Opera';
17
17
  if (provider.isTally) return 'Tally';
18
18
  if (provider.isTokenary) return 'Tokenary';
19
19
  if (provider.isTrust) return 'Trust Wallet';
20
20
  if (provider.isMetaMask) return 'MetaMask';
21
- };
21
+ }; // Some injected providers detect multiple other providers and create a list at `ethers.providers`
22
+
22
23
 
23
24
  if ((_ethereum$providers = ethereum.providers) !== null && _ethereum$providers !== void 0 && _ethereum$providers.length) {
24
25
  // Deduplicate names using Set
@@ -56,15 +57,23 @@ const shimKey = 'injected.shimDisconnect';
56
57
 
57
58
  var _provider = /*#__PURE__*/new WeakMap();
58
59
 
60
+ var _isUserRejectedRequestError = /*#__PURE__*/new WeakSet();
61
+
59
62
  class InjectedConnector extends Connector {
60
- constructor(config) {
61
- super({ ...config,
62
- options: {
63
- shimDisconnect: true,
64
- ...(config === null || config === void 0 ? void 0 : config.options)
63
+ constructor() {
64
+ let {
65
+ chains,
66
+ options = {
67
+ shimDisconnect: true
65
68
  }
69
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
70
+ super({
71
+ chains,
72
+ options
66
73
  });
67
74
 
75
+ _classPrivateMethodInitSpec(this, _isUserRejectedRequestError);
76
+
68
77
  _defineProperty(this, "id", void 0);
69
78
 
70
79
  _defineProperty(this, "name", void 0);
@@ -103,9 +112,7 @@ class InjectedConnector extends Connector {
103
112
  let name = 'Injected';
104
113
 
105
114
  if (typeof window !== 'undefined') {
106
- var _config$options;
107
-
108
- const overrideName = config === null || config === void 0 ? void 0 : (_config$options = config.options) === null || _config$options === void 0 ? void 0 : _config$options.name;
115
+ const overrideName = options.name;
109
116
  const detectedName = getInjectedName(window.ethereum);
110
117
  if (overrideName) name = typeof overrideName === 'function' ? overrideName(detectedName) : overrideName;else name = typeof detectedName === 'string' ? detectedName : detectedName[0];
111
118
  }
@@ -143,7 +150,8 @@ class InjectedConnector extends Connector {
143
150
  provider
144
151
  };
145
152
  } catch (error) {
146
- if (error.code === 4001) throw new UserRejectedRequestError();
153
+ if (_classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new UserRejectedRequestError(error);
154
+ if (error.code === -32002) throw new ResourceUnavailableError(error);
147
155
  throw error;
148
156
  }
149
157
  }
@@ -222,16 +230,17 @@ class InjectedConnector extends Connector {
222
230
  return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
223
231
  id: chainId,
224
232
  name: "Chain ".concat(id),
233
+ network: "".concat(id),
225
234
  rpcUrls: {
226
235
  default: ''
227
236
  }
228
237
  };
229
238
  } catch (error) {
230
- // Indicates chain is not added to provider
239
+ const chain = this.chains.find(x => x.id === chainId);
240
+ if (!chain) throw new ChainNotConfiguredError(); // Indicates chain is not added to provider
241
+
231
242
  if (error.code === 4902) {
232
243
  try {
233
- const chain = this.chains.find(x => x.id === chainId);
234
- if (!chain) throw new ChainNotConfiguredError();
235
244
  await provider.request({
236
245
  method: 'wallet_addEthereumChain',
237
246
  params: [{
@@ -244,9 +253,13 @@ class InjectedConnector extends Connector {
244
253
  });
245
254
  return chain;
246
255
  } catch (addError) {
256
+ if (_classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, addError)) throw new UserRejectedRequestError(error);
247
257
  throw new AddChainError();
248
258
  }
249
- } else if (error.code === 4001) throw new UserRejectedRequestError();else throw new SwitchChainError();
259
+ }
260
+
261
+ if (_classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new UserRejectedRequestError(error);
262
+ throw new SwitchChainError(error);
250
263
  }
251
264
  }
252
265
 
@@ -275,6 +288,10 @@ class InjectedConnector extends Connector {
275
288
 
276
289
  }
277
290
 
291
+ function _isUserRejectedRequestError2(error) {
292
+ return error.code === 4001;
293
+ }
294
+
278
295
  const noopStorage = {
279
296
  getItem: _key => '',
280
297
  setItem: (_key, _value) => null,
@@ -320,9 +337,21 @@ var _addEffects = /*#__PURE__*/new WeakSet();
320
337
 
321
338
  class Client {
322
339
  constructor() {
323
- var _config$autoConnect, _config$connectors, _config$provider, _config$storage;
324
-
325
- let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
340
+ let {
341
+ autoConnect = false,
342
+ connectors = [new InjectedConnector()],
343
+ provider: _provider = config => {
344
+ try {
345
+ return getDefaultProvider(config.chainId);
346
+ } catch {
347
+ return getDefaultProvider();
348
+ }
349
+ },
350
+ storage = createStorage({
351
+ storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
352
+ }),
353
+ webSocketProvider: _webSocketProvider
354
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
326
355
 
327
356
  _classPrivateMethodInitSpec(this, _addEffects);
328
357
 
@@ -337,24 +366,7 @@ class Client {
337
366
  value: void 0
338
367
  });
339
368
 
340
- // Set default values for config
341
- const autoConnect = (_config$autoConnect = config.autoConnect) !== null && _config$autoConnect !== void 0 ? _config$autoConnect : false;
342
-
343
- const _connectors = (_config$connectors = config.connectors) !== null && _config$connectors !== void 0 ? _config$connectors : [new InjectedConnector()];
344
-
345
- const _provider = (_config$provider = config.provider) !== null && _config$provider !== void 0 ? _config$provider : config => {
346
- try {
347
- return getDefaultProvider(config.chainId);
348
- } catch {
349
- return getDefaultProvider();
350
- }
351
- };
352
-
353
- const storage = (_config$storage = config.storage) !== null && _config$storage !== void 0 ? _config$storage : createStorage({
354
- storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
355
- });
356
- const _webSocketProvider = config.webSocketProvider; // Check status for autoConnect flag
357
-
369
+ // Check status for autoConnect flag
358
370
  let status = 'disconnected';
359
371
 
360
372
  let _chainId;
@@ -372,9 +384,9 @@ class Client {
372
384
  } // Evaluate initial store values
373
385
 
374
386
 
375
- const connectors_ = typeof _connectors === 'function' ? _connectors({
387
+ const connectors_ = typeof connectors === 'function' ? connectors({
376
388
  chainId: _chainId
377
- }) : _connectors;
389
+ }) : connectors;
378
390
  const provider_ = typeof _provider === 'function' ? _provider({
379
391
  chainId: _chainId
380
392
  }) : _provider;
@@ -406,7 +418,7 @@ class Client {
406
418
  })));
407
419
  this.config = {
408
420
  autoConnect,
409
- connectors: _connectors,
421
+ connectors,
410
422
  provider: _provider,
411
423
  storage,
412
424
  webSocketProvider: _webSocketProvider
@@ -461,6 +473,7 @@ class Client {
461
473
 
462
474
  clearState() {
463
475
  this.setState(x => ({ ...x,
476
+ chains: undefined,
464
477
  connector: undefined,
465
478
  data: undefined,
466
479
  error: undefined,
@@ -499,6 +512,7 @@ class Client {
499
512
 
500
513
 
501
514
  if (!connected) this.setState(x => ({ ...x,
515
+ data: undefined,
502
516
  status: 'disconnected'
503
517
  }));
504
518
  return this.data;
@@ -549,14 +563,12 @@ function _addEffects2() {
549
563
  (_connector$on3 = connector.on) === null || _connector$on3 === void 0 ? void 0 : _connector$on3.call(connector, 'error', onError);
550
564
  });
551
565
  const {
552
- connectors,
553
566
  provider,
554
567
  webSocketProvider
555
568
  } = this.config;
556
- const subscribeConnectors = typeof connectors === 'function';
557
569
  const subscribeProvider = typeof provider === 'function';
558
570
  const subscribeWebSocketProvider = typeof webSocketProvider === 'function';
559
- if (subscribeConnectors || subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
571
+ if (subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
560
572
  var _data$chain2;
561
573
 
562
574
  let {
@@ -565,9 +577,6 @@ function _addEffects2() {
565
577
  return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
566
578
  }, chainId => {
567
579
  this.setState(x => ({ ...x,
568
- connectors: subscribeConnectors ? connectors({
569
- chainId
570
- }) : x.connectors,
571
580
  provider: subscribeProvider ? provider({
572
581
  chainId
573
582
  }) : x.provider,