@wagmi/core 0.2.3 → 0.3.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/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +28 -10
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +28 -10
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +28 -10
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +20 -11
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +20 -11
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +15 -6
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +7 -6
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +7 -6
- package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +5 -4
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +26 -8
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +26 -8
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +24 -6
- package/dist/{base-5812b724.cjs.dev.js → base-3a506159.cjs.dev.js} +129 -67
- package/dist/{base-159de546.esm.js → base-997b4fec.esm.js} +98 -38
- package/dist/{base-59f3457e.cjs.prod.js → base-cb4198f3.cjs.prod.js} +129 -67
- package/dist/{client-f77a08e4.cjs.dev.js → client-08120ec7.cjs.dev.js} +35 -23
- package/dist/{client-4d8337e7.cjs.prod.js → client-332f5c43.cjs.prod.js} +35 -23
- package/dist/{client-5d456446.esm.js → client-d8d4f4fc.esm.js} +33 -21
- package/dist/declarations/src/actions/accounts/connect.d.ts +4 -4
- package/dist/declarations/src/actions/accounts/getAccount.d.ts +3 -3
- package/dist/declarations/src/actions/accounts/signTypedData.d.ts +15 -6
- package/dist/declarations/src/actions/accounts/watchAccount.d.ts +3 -3
- package/dist/declarations/src/actions/providers/getProvider.d.ts +3 -3
- package/dist/declarations/src/actions/providers/getWebSocketProvider.d.ts +3 -3
- package/dist/declarations/src/actions/providers/watchProvider.d.ts +3 -3
- package/dist/declarations/src/actions/providers/watchWebSocketProvider.d.ts +3 -3
- package/dist/declarations/src/chains/configureChains.d.ts +20 -0
- package/dist/declarations/src/chains/index.d.ts +2 -0
- package/dist/declarations/src/client.d.ts +11 -11
- package/dist/declarations/src/connectors/injected.d.ts +1 -1
- package/dist/declarations/src/constants/index.d.ts +1 -1
- package/dist/declarations/src/errors.d.ts +48 -4
- package/dist/declarations/src/index.d.ts +8 -6
- package/dist/declarations/src/providers/alchemy.d.ts +7 -0
- package/dist/declarations/src/providers/infura.d.ts +7 -0
- package/dist/declarations/src/providers/jsonRpc.d.ts +11 -0
- package/dist/declarations/src/providers/public.d.ts +6 -0
- package/dist/declarations/src/storage.d.ts +2 -2
- package/dist/declarations/src/types/index.d.ts +67 -27
- package/dist/rpcs-7cfbd91c.esm.js +30 -0
- package/dist/rpcs-9c4eb960.cjs.dev.js +35 -0
- package/dist/rpcs-b3c52116.cjs.prod.js +35 -0
- package/dist/wagmi-core.cjs.dev.js +126 -27
- package/dist/wagmi-core.cjs.prod.js +126 -27
- package/dist/wagmi-core.esm.js +124 -26
- package/package.json +29 -8
- package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.d.ts +1 -0
- package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.dev.js +38 -0
- package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.js +7 -0
- package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.prod.js +38 -0
- package/providers/alchemy/dist/wagmi-core-providers-alchemy.esm.js +34 -0
- package/providers/alchemy/package.json +4 -0
- package/providers/infura/dist/wagmi-core-providers-infura.cjs.d.ts +1 -0
- package/providers/infura/dist/wagmi-core-providers-infura.cjs.dev.js +38 -0
- package/providers/infura/dist/wagmi-core-providers-infura.cjs.js +7 -0
- package/providers/infura/dist/wagmi-core-providers-infura.cjs.prod.js +38 -0
- package/providers/infura/dist/wagmi-core-providers-infura.esm.js +34 -0
- package/providers/infura/package.json +4 -0
- package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.d.ts +1 -0
- package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.dev.js +45 -0
- package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.js +7 -0
- package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.prod.js +45 -0
- package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.esm.js +41 -0
- package/providers/jsonRpc/package.json +4 -0
- package/providers/public/dist/wagmi-core-providers-public.cjs.d.ts +1 -0
- package/providers/public/dist/wagmi-core-providers-public.cjs.dev.js +34 -0
- package/providers/public/dist/wagmi-core-providers-public.cjs.js +7 -0
- package/providers/public/dist/wagmi-core-providers-public.cjs.prod.js +34 -0
- package/providers/public/dist/wagmi-core-providers-public.esm.js +30 -0
- package/providers/public/package.json +4 -0
- package/dist/classPrivateMethodGet-55c9909f.esm.js +0 -16
- package/dist/classPrivateMethodGet-976c8120.cjs.dev.js +0 -19
- package/dist/classPrivateMethodGet-d7330ed7.cjs.prod.js +0 -19
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var base = require('./base-5812b724.cjs.dev.js');
|
|
3
|
+
var base = require('./base-3a506159.cjs.dev.js');
|
|
5
4
|
var ethers = require('ethers');
|
|
6
5
|
var create = require('zustand/vanilla');
|
|
7
6
|
var middleware = require('zustand/middleware');
|
|
@@ -17,16 +16,19 @@ function getInjectedName(ethereum) {
|
|
|
17
16
|
if (!ethereum) return 'Injected';
|
|
18
17
|
|
|
19
18
|
const getName = provider => {
|
|
20
|
-
if (provider.isMetaMask && !provider.isBraveWallet) return 'MetaMask';
|
|
21
19
|
if (provider.isBraveWallet) return 'Brave Wallet';
|
|
22
20
|
if (provider.isCoinbaseWallet) return 'Coinbase Wallet';
|
|
23
21
|
if (provider.isFrame) return 'Frame';
|
|
22
|
+
if (provider.isOpera) return 'Opera';
|
|
24
23
|
if (provider.isTally) return 'Tally';
|
|
24
|
+
if (provider.isTokenary) return 'Tokenary';
|
|
25
25
|
if (provider.isTrust) return 'Trust Wallet';
|
|
26
|
-
|
|
26
|
+
if (provider.isMetaMask) return 'MetaMask';
|
|
27
|
+
}; // Some injected providers detect multiple other providers and create a list at `ethers.providers`
|
|
28
|
+
|
|
27
29
|
|
|
28
30
|
if ((_ethereum$providers = ethereum.providers) !== null && _ethereum$providers !== void 0 && _ethereum$providers.length) {
|
|
29
|
-
//
|
|
31
|
+
// Deduplicate names using Set
|
|
30
32
|
// Coinbase Wallet puts multiple providers in `ethereum.providers`
|
|
31
33
|
const nameSet = new Set();
|
|
32
34
|
let unknownCount = 1;
|
|
@@ -61,6 +63,8 @@ const shimKey = 'injected.shimDisconnect';
|
|
|
61
63
|
|
|
62
64
|
var _provider = /*#__PURE__*/new WeakMap();
|
|
63
65
|
|
|
66
|
+
var _isUserRejectedRequestError = /*#__PURE__*/new WeakSet();
|
|
67
|
+
|
|
64
68
|
class InjectedConnector extends base.Connector {
|
|
65
69
|
constructor(config) {
|
|
66
70
|
super({ ...config,
|
|
@@ -70,6 +74,8 @@ class InjectedConnector extends base.Connector {
|
|
|
70
74
|
}
|
|
71
75
|
});
|
|
72
76
|
|
|
77
|
+
base._classPrivateMethodInitSpec(this, _isUserRejectedRequestError);
|
|
78
|
+
|
|
73
79
|
base._defineProperty(this, "id", void 0);
|
|
74
80
|
|
|
75
81
|
base._defineProperty(this, "name", void 0);
|
|
@@ -148,7 +154,8 @@ class InjectedConnector extends base.Connector {
|
|
|
148
154
|
provider
|
|
149
155
|
};
|
|
150
156
|
} catch (error) {
|
|
151
|
-
if (
|
|
157
|
+
if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new base.UserRejectedRequestError(error);
|
|
158
|
+
if (error.code === -32002) throw new base.ResourceUnavailableError(error);
|
|
152
159
|
throw error;
|
|
153
160
|
}
|
|
154
161
|
}
|
|
@@ -227,16 +234,17 @@ class InjectedConnector extends base.Connector {
|
|
|
227
234
|
return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
|
|
228
235
|
id: chainId,
|
|
229
236
|
name: "Chain ".concat(id),
|
|
237
|
+
network: "".concat(id),
|
|
230
238
|
rpcUrls: {
|
|
231
239
|
default: ''
|
|
232
240
|
}
|
|
233
241
|
};
|
|
234
242
|
} catch (error) {
|
|
235
|
-
|
|
243
|
+
const chain = this.chains.find(x => x.id === chainId);
|
|
244
|
+
if (!chain) throw new base.ChainNotConfiguredError(); // Indicates chain is not added to provider
|
|
245
|
+
|
|
236
246
|
if (error.code === 4902) {
|
|
237
247
|
try {
|
|
238
|
-
const chain = this.chains.find(x => x.id === chainId);
|
|
239
|
-
if (!chain) throw new base.ChainNotConfiguredError();
|
|
240
248
|
await provider.request({
|
|
241
249
|
method: 'wallet_addEthereumChain',
|
|
242
250
|
params: [{
|
|
@@ -249,9 +257,13 @@ class InjectedConnector extends base.Connector {
|
|
|
249
257
|
});
|
|
250
258
|
return chain;
|
|
251
259
|
} catch (addError) {
|
|
260
|
+
if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, addError)) throw new base.UserRejectedRequestError(error);
|
|
252
261
|
throw new base.AddChainError();
|
|
253
262
|
}
|
|
254
|
-
}
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new base.UserRejectedRequestError(error);
|
|
266
|
+
throw new base.SwitchChainError(error);
|
|
255
267
|
}
|
|
256
268
|
}
|
|
257
269
|
|
|
@@ -280,6 +292,10 @@ class InjectedConnector extends base.Connector {
|
|
|
280
292
|
|
|
281
293
|
}
|
|
282
294
|
|
|
295
|
+
function _isUserRejectedRequestError2(error) {
|
|
296
|
+
return error.code === 4001;
|
|
297
|
+
}
|
|
298
|
+
|
|
283
299
|
const noopStorage = {
|
|
284
300
|
getItem: _key => '',
|
|
285
301
|
setItem: (_key, _value) => null,
|
|
@@ -329,7 +345,7 @@ class Client {
|
|
|
329
345
|
|
|
330
346
|
let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
331
347
|
|
|
332
|
-
|
|
348
|
+
base._classPrivateMethodInitSpec(this, _addEffects);
|
|
333
349
|
|
|
334
350
|
base._defineProperty(this, "config", void 0);
|
|
335
351
|
|
|
@@ -344,8 +360,7 @@ class Client {
|
|
|
344
360
|
|
|
345
361
|
// Set default values for config
|
|
346
362
|
const autoConnect = (_config$autoConnect = config.autoConnect) !== null && _config$autoConnect !== void 0 ? _config$autoConnect : false;
|
|
347
|
-
|
|
348
|
-
const _connectors = (_config$connectors = config.connectors) !== null && _config$connectors !== void 0 ? _config$connectors : [new InjectedConnector()];
|
|
363
|
+
const connectors = (_config$connectors = config.connectors) !== null && _config$connectors !== void 0 ? _config$connectors : [new InjectedConnector()];
|
|
349
364
|
|
|
350
365
|
const _provider = (_config$provider = config.provider) !== null && _config$provider !== void 0 ? _config$provider : config => {
|
|
351
366
|
try {
|
|
@@ -377,9 +392,9 @@ class Client {
|
|
|
377
392
|
} // Evaluate initial store values
|
|
378
393
|
|
|
379
394
|
|
|
380
|
-
const connectors_ = typeof
|
|
395
|
+
const connectors_ = typeof connectors === 'function' ? connectors({
|
|
381
396
|
chainId: _chainId
|
|
382
|
-
}) :
|
|
397
|
+
}) : connectors;
|
|
383
398
|
const provider_ = typeof _provider === 'function' ? _provider({
|
|
384
399
|
chainId: _chainId
|
|
385
400
|
}) : _provider;
|
|
@@ -411,7 +426,7 @@ class Client {
|
|
|
411
426
|
})));
|
|
412
427
|
this.config = {
|
|
413
428
|
autoConnect,
|
|
414
|
-
connectors
|
|
429
|
+
connectors,
|
|
415
430
|
provider: _provider,
|
|
416
431
|
storage,
|
|
417
432
|
webSocketProvider: _webSocketProvider
|
|
@@ -420,7 +435,7 @@ class Client {
|
|
|
420
435
|
|
|
421
436
|
base._classPrivateFieldSet(this, _lastUsedConnector, storage === null || storage === void 0 ? void 0 : storage.getItem('wallet'));
|
|
422
437
|
|
|
423
|
-
|
|
438
|
+
base._classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
|
|
424
439
|
}
|
|
425
440
|
|
|
426
441
|
get chains() {
|
|
@@ -466,6 +481,7 @@ class Client {
|
|
|
466
481
|
|
|
467
482
|
clearState() {
|
|
468
483
|
this.setState(x => ({ ...x,
|
|
484
|
+
chains: undefined,
|
|
469
485
|
connector: undefined,
|
|
470
486
|
data: undefined,
|
|
471
487
|
error: undefined,
|
|
@@ -504,6 +520,7 @@ class Client {
|
|
|
504
520
|
|
|
505
521
|
|
|
506
522
|
if (!connected) this.setState(x => ({ ...x,
|
|
523
|
+
data: undefined,
|
|
507
524
|
status: 'disconnected'
|
|
508
525
|
}));
|
|
509
526
|
return this.data;
|
|
@@ -554,14 +571,12 @@ function _addEffects2() {
|
|
|
554
571
|
(_connector$on3 = connector.on) === null || _connector$on3 === void 0 ? void 0 : _connector$on3.call(connector, 'error', onError);
|
|
555
572
|
});
|
|
556
573
|
const {
|
|
557
|
-
connectors,
|
|
558
574
|
provider,
|
|
559
575
|
webSocketProvider
|
|
560
576
|
} = this.config;
|
|
561
|
-
const subscribeConnectors = typeof connectors === 'function';
|
|
562
577
|
const subscribeProvider = typeof provider === 'function';
|
|
563
578
|
const subscribeWebSocketProvider = typeof webSocketProvider === 'function';
|
|
564
|
-
if (
|
|
579
|
+
if (subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
|
|
565
580
|
var _data$chain2;
|
|
566
581
|
|
|
567
582
|
let {
|
|
@@ -570,9 +585,6 @@ function _addEffects2() {
|
|
|
570
585
|
return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
|
|
571
586
|
}, chainId => {
|
|
572
587
|
this.setState(x => ({ ...x,
|
|
573
|
-
connectors: subscribeConnectors ? connectors({
|
|
574
|
-
chainId
|
|
575
|
-
}) : x.connectors,
|
|
576
588
|
provider: subscribeProvider ? provider({
|
|
577
589
|
chainId
|
|
578
590
|
}) : x.provider,
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var base = require('./base-59f3457e.cjs.prod.js');
|
|
3
|
+
var base = require('./base-cb4198f3.cjs.prod.js');
|
|
5
4
|
var ethers = require('ethers');
|
|
6
5
|
var create = require('zustand/vanilla');
|
|
7
6
|
var middleware = require('zustand/middleware');
|
|
@@ -17,16 +16,19 @@ function getInjectedName(ethereum) {
|
|
|
17
16
|
if (!ethereum) return 'Injected';
|
|
18
17
|
|
|
19
18
|
const getName = provider => {
|
|
20
|
-
if (provider.isMetaMask && !provider.isBraveWallet) return 'MetaMask';
|
|
21
19
|
if (provider.isBraveWallet) return 'Brave Wallet';
|
|
22
20
|
if (provider.isCoinbaseWallet) return 'Coinbase Wallet';
|
|
23
21
|
if (provider.isFrame) return 'Frame';
|
|
22
|
+
if (provider.isOpera) return 'Opera';
|
|
24
23
|
if (provider.isTally) return 'Tally';
|
|
24
|
+
if (provider.isTokenary) return 'Tokenary';
|
|
25
25
|
if (provider.isTrust) return 'Trust Wallet';
|
|
26
|
-
|
|
26
|
+
if (provider.isMetaMask) return 'MetaMask';
|
|
27
|
+
}; // Some injected providers detect multiple other providers and create a list at `ethers.providers`
|
|
28
|
+
|
|
27
29
|
|
|
28
30
|
if ((_ethereum$providers = ethereum.providers) !== null && _ethereum$providers !== void 0 && _ethereum$providers.length) {
|
|
29
|
-
//
|
|
31
|
+
// Deduplicate names using Set
|
|
30
32
|
// Coinbase Wallet puts multiple providers in `ethereum.providers`
|
|
31
33
|
const nameSet = new Set();
|
|
32
34
|
let unknownCount = 1;
|
|
@@ -61,6 +63,8 @@ const shimKey = 'injected.shimDisconnect';
|
|
|
61
63
|
|
|
62
64
|
var _provider = /*#__PURE__*/new WeakMap();
|
|
63
65
|
|
|
66
|
+
var _isUserRejectedRequestError = /*#__PURE__*/new WeakSet();
|
|
67
|
+
|
|
64
68
|
class InjectedConnector extends base.Connector {
|
|
65
69
|
constructor(config) {
|
|
66
70
|
super({ ...config,
|
|
@@ -70,6 +74,8 @@ class InjectedConnector extends base.Connector {
|
|
|
70
74
|
}
|
|
71
75
|
});
|
|
72
76
|
|
|
77
|
+
base._classPrivateMethodInitSpec(this, _isUserRejectedRequestError);
|
|
78
|
+
|
|
73
79
|
base._defineProperty(this, "id", void 0);
|
|
74
80
|
|
|
75
81
|
base._defineProperty(this, "name", void 0);
|
|
@@ -148,7 +154,8 @@ class InjectedConnector extends base.Connector {
|
|
|
148
154
|
provider
|
|
149
155
|
};
|
|
150
156
|
} catch (error) {
|
|
151
|
-
if (
|
|
157
|
+
if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new base.UserRejectedRequestError(error);
|
|
158
|
+
if (error.code === -32002) throw new base.ResourceUnavailableError(error);
|
|
152
159
|
throw error;
|
|
153
160
|
}
|
|
154
161
|
}
|
|
@@ -227,16 +234,17 @@ class InjectedConnector extends base.Connector {
|
|
|
227
234
|
return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
|
|
228
235
|
id: chainId,
|
|
229
236
|
name: "Chain ".concat(id),
|
|
237
|
+
network: "".concat(id),
|
|
230
238
|
rpcUrls: {
|
|
231
239
|
default: ''
|
|
232
240
|
}
|
|
233
241
|
};
|
|
234
242
|
} catch (error) {
|
|
235
|
-
|
|
243
|
+
const chain = this.chains.find(x => x.id === chainId);
|
|
244
|
+
if (!chain) throw new base.ChainNotConfiguredError(); // Indicates chain is not added to provider
|
|
245
|
+
|
|
236
246
|
if (error.code === 4902) {
|
|
237
247
|
try {
|
|
238
|
-
const chain = this.chains.find(x => x.id === chainId);
|
|
239
|
-
if (!chain) throw new base.ChainNotConfiguredError();
|
|
240
248
|
await provider.request({
|
|
241
249
|
method: 'wallet_addEthereumChain',
|
|
242
250
|
params: [{
|
|
@@ -249,9 +257,13 @@ class InjectedConnector extends base.Connector {
|
|
|
249
257
|
});
|
|
250
258
|
return chain;
|
|
251
259
|
} catch (addError) {
|
|
260
|
+
if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, addError)) throw new base.UserRejectedRequestError(error);
|
|
252
261
|
throw new base.AddChainError();
|
|
253
262
|
}
|
|
254
|
-
}
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new base.UserRejectedRequestError(error);
|
|
266
|
+
throw new base.SwitchChainError(error);
|
|
255
267
|
}
|
|
256
268
|
}
|
|
257
269
|
|
|
@@ -280,6 +292,10 @@ class InjectedConnector extends base.Connector {
|
|
|
280
292
|
|
|
281
293
|
}
|
|
282
294
|
|
|
295
|
+
function _isUserRejectedRequestError2(error) {
|
|
296
|
+
return error.code === 4001;
|
|
297
|
+
}
|
|
298
|
+
|
|
283
299
|
const noopStorage = {
|
|
284
300
|
getItem: _key => '',
|
|
285
301
|
setItem: (_key, _value) => null,
|
|
@@ -329,7 +345,7 @@ class Client {
|
|
|
329
345
|
|
|
330
346
|
let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
331
347
|
|
|
332
|
-
|
|
348
|
+
base._classPrivateMethodInitSpec(this, _addEffects);
|
|
333
349
|
|
|
334
350
|
base._defineProperty(this, "config", void 0);
|
|
335
351
|
|
|
@@ -344,8 +360,7 @@ class Client {
|
|
|
344
360
|
|
|
345
361
|
// Set default values for config
|
|
346
362
|
const autoConnect = (_config$autoConnect = config.autoConnect) !== null && _config$autoConnect !== void 0 ? _config$autoConnect : false;
|
|
347
|
-
|
|
348
|
-
const _connectors = (_config$connectors = config.connectors) !== null && _config$connectors !== void 0 ? _config$connectors : [new InjectedConnector()];
|
|
363
|
+
const connectors = (_config$connectors = config.connectors) !== null && _config$connectors !== void 0 ? _config$connectors : [new InjectedConnector()];
|
|
349
364
|
|
|
350
365
|
const _provider = (_config$provider = config.provider) !== null && _config$provider !== void 0 ? _config$provider : config => {
|
|
351
366
|
try {
|
|
@@ -377,9 +392,9 @@ class Client {
|
|
|
377
392
|
} // Evaluate initial store values
|
|
378
393
|
|
|
379
394
|
|
|
380
|
-
const connectors_ = typeof
|
|
395
|
+
const connectors_ = typeof connectors === 'function' ? connectors({
|
|
381
396
|
chainId: _chainId
|
|
382
|
-
}) :
|
|
397
|
+
}) : connectors;
|
|
383
398
|
const provider_ = typeof _provider === 'function' ? _provider({
|
|
384
399
|
chainId: _chainId
|
|
385
400
|
}) : _provider;
|
|
@@ -411,7 +426,7 @@ class Client {
|
|
|
411
426
|
})));
|
|
412
427
|
this.config = {
|
|
413
428
|
autoConnect,
|
|
414
|
-
connectors
|
|
429
|
+
connectors,
|
|
415
430
|
provider: _provider,
|
|
416
431
|
storage,
|
|
417
432
|
webSocketProvider: _webSocketProvider
|
|
@@ -420,7 +435,7 @@ class Client {
|
|
|
420
435
|
|
|
421
436
|
base._classPrivateFieldSet(this, _lastUsedConnector, storage === null || storage === void 0 ? void 0 : storage.getItem('wallet'));
|
|
422
437
|
|
|
423
|
-
|
|
438
|
+
base._classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
|
|
424
439
|
}
|
|
425
440
|
|
|
426
441
|
get chains() {
|
|
@@ -466,6 +481,7 @@ class Client {
|
|
|
466
481
|
|
|
467
482
|
clearState() {
|
|
468
483
|
this.setState(x => ({ ...x,
|
|
484
|
+
chains: undefined,
|
|
469
485
|
connector: undefined,
|
|
470
486
|
data: undefined,
|
|
471
487
|
error: undefined,
|
|
@@ -504,6 +520,7 @@ class Client {
|
|
|
504
520
|
|
|
505
521
|
|
|
506
522
|
if (!connected) this.setState(x => ({ ...x,
|
|
523
|
+
data: undefined,
|
|
507
524
|
status: 'disconnected'
|
|
508
525
|
}));
|
|
509
526
|
return this.data;
|
|
@@ -554,14 +571,12 @@ function _addEffects2() {
|
|
|
554
571
|
(_connector$on3 = connector.on) === null || _connector$on3 === void 0 ? void 0 : _connector$on3.call(connector, 'error', onError);
|
|
555
572
|
});
|
|
556
573
|
const {
|
|
557
|
-
connectors,
|
|
558
574
|
provider,
|
|
559
575
|
webSocketProvider
|
|
560
576
|
} = this.config;
|
|
561
|
-
const subscribeConnectors = typeof connectors === 'function';
|
|
562
577
|
const subscribeProvider = typeof provider === 'function';
|
|
563
578
|
const subscribeWebSocketProvider = typeof webSocketProvider === 'function';
|
|
564
|
-
if (
|
|
579
|
+
if (subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
|
|
565
580
|
var _data$chain2;
|
|
566
581
|
|
|
567
582
|
let {
|
|
@@ -570,9 +585,6 @@ function _addEffects2() {
|
|
|
570
585
|
return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
|
|
571
586
|
}, chainId => {
|
|
572
587
|
this.setState(x => ({ ...x,
|
|
573
|
-
connectors: subscribeConnectors ? connectors({
|
|
574
|
-
chainId
|
|
575
|
-
}) : x.connectors,
|
|
576
588
|
provider: subscribeProvider ? provider({
|
|
577
589
|
chainId
|
|
578
590
|
}) : x.provider,
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { _ as _classPrivateMethodInitSpec,
|
|
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';
|
|
@@ -11,16 +10,19 @@ function getInjectedName(ethereum) {
|
|
|
11
10
|
if (!ethereum) return 'Injected';
|
|
12
11
|
|
|
13
12
|
const getName = provider => {
|
|
14
|
-
if (provider.isMetaMask && !provider.isBraveWallet) return 'MetaMask';
|
|
15
13
|
if (provider.isBraveWallet) return 'Brave Wallet';
|
|
16
14
|
if (provider.isCoinbaseWallet) return 'Coinbase Wallet';
|
|
17
15
|
if (provider.isFrame) return 'Frame';
|
|
16
|
+
if (provider.isOpera) return 'Opera';
|
|
18
17
|
if (provider.isTally) return 'Tally';
|
|
18
|
+
if (provider.isTokenary) return 'Tokenary';
|
|
19
19
|
if (provider.isTrust) return 'Trust Wallet';
|
|
20
|
-
|
|
20
|
+
if (provider.isMetaMask) return 'MetaMask';
|
|
21
|
+
}; // Some injected providers detect multiple other providers and create a list at `ethers.providers`
|
|
22
|
+
|
|
21
23
|
|
|
22
24
|
if ((_ethereum$providers = ethereum.providers) !== null && _ethereum$providers !== void 0 && _ethereum$providers.length) {
|
|
23
|
-
//
|
|
25
|
+
// Deduplicate names using Set
|
|
24
26
|
// Coinbase Wallet puts multiple providers in `ethereum.providers`
|
|
25
27
|
const nameSet = new Set();
|
|
26
28
|
let unknownCount = 1;
|
|
@@ -55,6 +57,8 @@ const shimKey = 'injected.shimDisconnect';
|
|
|
55
57
|
|
|
56
58
|
var _provider = /*#__PURE__*/new WeakMap();
|
|
57
59
|
|
|
60
|
+
var _isUserRejectedRequestError = /*#__PURE__*/new WeakSet();
|
|
61
|
+
|
|
58
62
|
class InjectedConnector extends Connector {
|
|
59
63
|
constructor(config) {
|
|
60
64
|
super({ ...config,
|
|
@@ -64,6 +68,8 @@ class InjectedConnector extends Connector {
|
|
|
64
68
|
}
|
|
65
69
|
});
|
|
66
70
|
|
|
71
|
+
_classPrivateMethodInitSpec(this, _isUserRejectedRequestError);
|
|
72
|
+
|
|
67
73
|
_defineProperty(this, "id", void 0);
|
|
68
74
|
|
|
69
75
|
_defineProperty(this, "name", void 0);
|
|
@@ -142,7 +148,8 @@ class InjectedConnector extends Connector {
|
|
|
142
148
|
provider
|
|
143
149
|
};
|
|
144
150
|
} catch (error) {
|
|
145
|
-
if (
|
|
151
|
+
if (_classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new UserRejectedRequestError(error);
|
|
152
|
+
if (error.code === -32002) throw new ResourceUnavailableError(error);
|
|
146
153
|
throw error;
|
|
147
154
|
}
|
|
148
155
|
}
|
|
@@ -221,16 +228,17 @@ class InjectedConnector extends Connector {
|
|
|
221
228
|
return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
|
|
222
229
|
id: chainId,
|
|
223
230
|
name: "Chain ".concat(id),
|
|
231
|
+
network: "".concat(id),
|
|
224
232
|
rpcUrls: {
|
|
225
233
|
default: ''
|
|
226
234
|
}
|
|
227
235
|
};
|
|
228
236
|
} catch (error) {
|
|
229
|
-
|
|
237
|
+
const chain = this.chains.find(x => x.id === chainId);
|
|
238
|
+
if (!chain) throw new ChainNotConfiguredError(); // Indicates chain is not added to provider
|
|
239
|
+
|
|
230
240
|
if (error.code === 4902) {
|
|
231
241
|
try {
|
|
232
|
-
const chain = this.chains.find(x => x.id === chainId);
|
|
233
|
-
if (!chain) throw new ChainNotConfiguredError();
|
|
234
242
|
await provider.request({
|
|
235
243
|
method: 'wallet_addEthereumChain',
|
|
236
244
|
params: [{
|
|
@@ -243,9 +251,13 @@ class InjectedConnector extends Connector {
|
|
|
243
251
|
});
|
|
244
252
|
return chain;
|
|
245
253
|
} catch (addError) {
|
|
254
|
+
if (_classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, addError)) throw new UserRejectedRequestError(error);
|
|
246
255
|
throw new AddChainError();
|
|
247
256
|
}
|
|
248
|
-
}
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
if (_classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new UserRejectedRequestError(error);
|
|
260
|
+
throw new SwitchChainError(error);
|
|
249
261
|
}
|
|
250
262
|
}
|
|
251
263
|
|
|
@@ -274,6 +286,10 @@ class InjectedConnector extends Connector {
|
|
|
274
286
|
|
|
275
287
|
}
|
|
276
288
|
|
|
289
|
+
function _isUserRejectedRequestError2(error) {
|
|
290
|
+
return error.code === 4001;
|
|
291
|
+
}
|
|
292
|
+
|
|
277
293
|
const noopStorage = {
|
|
278
294
|
getItem: _key => '',
|
|
279
295
|
setItem: (_key, _value) => null,
|
|
@@ -338,8 +354,7 @@ class Client {
|
|
|
338
354
|
|
|
339
355
|
// Set default values for config
|
|
340
356
|
const autoConnect = (_config$autoConnect = config.autoConnect) !== null && _config$autoConnect !== void 0 ? _config$autoConnect : false;
|
|
341
|
-
|
|
342
|
-
const _connectors = (_config$connectors = config.connectors) !== null && _config$connectors !== void 0 ? _config$connectors : [new InjectedConnector()];
|
|
357
|
+
const connectors = (_config$connectors = config.connectors) !== null && _config$connectors !== void 0 ? _config$connectors : [new InjectedConnector()];
|
|
343
358
|
|
|
344
359
|
const _provider = (_config$provider = config.provider) !== null && _config$provider !== void 0 ? _config$provider : config => {
|
|
345
360
|
try {
|
|
@@ -371,9 +386,9 @@ class Client {
|
|
|
371
386
|
} // Evaluate initial store values
|
|
372
387
|
|
|
373
388
|
|
|
374
|
-
const connectors_ = typeof
|
|
389
|
+
const connectors_ = typeof connectors === 'function' ? connectors({
|
|
375
390
|
chainId: _chainId
|
|
376
|
-
}) :
|
|
391
|
+
}) : connectors;
|
|
377
392
|
const provider_ = typeof _provider === 'function' ? _provider({
|
|
378
393
|
chainId: _chainId
|
|
379
394
|
}) : _provider;
|
|
@@ -405,7 +420,7 @@ class Client {
|
|
|
405
420
|
})));
|
|
406
421
|
this.config = {
|
|
407
422
|
autoConnect,
|
|
408
|
-
connectors
|
|
423
|
+
connectors,
|
|
409
424
|
provider: _provider,
|
|
410
425
|
storage,
|
|
411
426
|
webSocketProvider: _webSocketProvider
|
|
@@ -460,6 +475,7 @@ class Client {
|
|
|
460
475
|
|
|
461
476
|
clearState() {
|
|
462
477
|
this.setState(x => ({ ...x,
|
|
478
|
+
chains: undefined,
|
|
463
479
|
connector: undefined,
|
|
464
480
|
data: undefined,
|
|
465
481
|
error: undefined,
|
|
@@ -498,6 +514,7 @@ class Client {
|
|
|
498
514
|
|
|
499
515
|
|
|
500
516
|
if (!connected) this.setState(x => ({ ...x,
|
|
517
|
+
data: undefined,
|
|
501
518
|
status: 'disconnected'
|
|
502
519
|
}));
|
|
503
520
|
return this.data;
|
|
@@ -548,14 +565,12 @@ function _addEffects2() {
|
|
|
548
565
|
(_connector$on3 = connector.on) === null || _connector$on3 === void 0 ? void 0 : _connector$on3.call(connector, 'error', onError);
|
|
549
566
|
});
|
|
550
567
|
const {
|
|
551
|
-
connectors,
|
|
552
568
|
provider,
|
|
553
569
|
webSocketProvider
|
|
554
570
|
} = this.config;
|
|
555
|
-
const subscribeConnectors = typeof connectors === 'function';
|
|
556
571
|
const subscribeProvider = typeof provider === 'function';
|
|
557
572
|
const subscribeWebSocketProvider = typeof webSocketProvider === 'function';
|
|
558
|
-
if (
|
|
573
|
+
if (subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
|
|
559
574
|
var _data$chain2;
|
|
560
575
|
|
|
561
576
|
let {
|
|
@@ -564,9 +579,6 @@ function _addEffects2() {
|
|
|
564
579
|
return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
|
|
565
580
|
}, chainId => {
|
|
566
581
|
this.setState(x => ({ ...x,
|
|
567
|
-
connectors: subscribeConnectors ? connectors({
|
|
568
|
-
chainId
|
|
569
|
-
}) : x.connectors,
|
|
570
582
|
provider: subscribeProvider ? provider({
|
|
571
583
|
chainId
|
|
572
584
|
}) : x.provider,
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { providers } from 'ethers';
|
|
2
1
|
import { Client } from '../../client';
|
|
3
2
|
import { Connector, ConnectorData } from '../../connectors';
|
|
3
|
+
import { Provider } from '../../types';
|
|
4
4
|
export declare type ConnectArgs = {
|
|
5
5
|
/** Connector to connect */
|
|
6
6
|
connector: Connector;
|
|
7
7
|
};
|
|
8
|
-
declare type Data<TProvider extends
|
|
9
|
-
export declare type ConnectResult<TProvider extends
|
|
8
|
+
declare type Data<TProvider extends Provider = Provider> = Required<ConnectorData<TProvider>>;
|
|
9
|
+
export declare type ConnectResult<TProvider extends Provider = Provider> = {
|
|
10
10
|
account: Data<TProvider>['account'];
|
|
11
11
|
chain: Data<TProvider>['chain'];
|
|
12
12
|
connector: Client<TProvider>['connector'];
|
|
13
13
|
provider: Data<TProvider>['provider'];
|
|
14
14
|
};
|
|
15
|
-
export declare function connect<TProvider extends
|
|
15
|
+
export declare function connect<TProvider extends Provider = Provider>({ connector, }: ConnectArgs): Promise<ConnectResult<TProvider>>;
|
|
16
16
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { providers } from 'ethers';
|
|
2
1
|
import { Client, Data } from '../../client';
|
|
3
|
-
|
|
2
|
+
import { Provider } from '../../types';
|
|
3
|
+
export declare type GetAccountResult<TProvider extends Provider = Provider> = {
|
|
4
4
|
address?: Data<TProvider>['account'];
|
|
5
5
|
connector?: Client<TProvider>['connector'];
|
|
6
6
|
};
|
|
7
|
-
export declare function getAccount<TProvider extends
|
|
7
|
+
export declare function getAccount<TProvider extends Provider>(): GetAccountResult<TProvider>;
|
|
@@ -1,13 +1,22 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { BigNumberish, BytesLike } from 'ethers';
|
|
2
|
+
export interface TypedDataDomain {
|
|
3
|
+
name?: string;
|
|
4
|
+
version?: string;
|
|
5
|
+
chainId?: BigNumberish;
|
|
6
|
+
verifyingContract?: string;
|
|
7
|
+
salt?: BytesLike;
|
|
8
|
+
}
|
|
9
|
+
export interface TypedDataField {
|
|
10
|
+
name: string;
|
|
11
|
+
type: string;
|
|
12
|
+
}
|
|
3
13
|
export declare type SignTypedDataArgs = {
|
|
4
14
|
/** Domain or domain signature for origin or contract */
|
|
5
|
-
domain:
|
|
15
|
+
domain: TypedDataDomain;
|
|
6
16
|
/** Named list of all type definitions */
|
|
7
|
-
types:
|
|
17
|
+
types: Record<string, Array<TypedDataField>>;
|
|
8
18
|
/** Data to sign */
|
|
9
|
-
value:
|
|
19
|
+
value: Record<string, any>;
|
|
10
20
|
};
|
|
11
21
|
export declare type SignTypedDataResult = string;
|
|
12
22
|
export declare function signTypedData(args: SignTypedDataArgs): Promise<SignTypedDataResult>;
|
|
13
|
-
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Provider } from '../../types';
|
|
2
2
|
import { GetAccountResult } from './getAccount';
|
|
3
|
-
export declare type WatchAccountCallback<TProvider extends
|
|
4
|
-
export declare function watchAccount<TProvider extends
|
|
3
|
+
export declare type WatchAccountCallback<TProvider extends Provider = Provider> = (data: GetAccountResult<TProvider>) => void;
|
|
4
|
+
export declare function watchAccount<TProvider extends Provider>(callback: WatchAccountCallback<TProvider>): () => void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Provider } from '../../types';
|
|
2
2
|
export declare type GetProviderArgs = {
|
|
3
3
|
/** Chain id to use for provider */
|
|
4
4
|
chainId?: number;
|
|
5
5
|
};
|
|
6
|
-
export declare type GetProviderResult<TProvider extends
|
|
7
|
-
export declare function getProvider<TProvider extends
|
|
6
|
+
export declare type GetProviderResult<TProvider extends Provider = Provider> = TProvider;
|
|
7
|
+
export declare function getProvider<TProvider extends Provider = Provider>({ chainId, }?: GetProviderArgs): GetProviderResult<TProvider>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { WebSocketProvider } from '../../types';
|
|
2
2
|
export declare type GetWebSocketProviderArgs = {
|
|
3
3
|
/** Chain id to use for provider */
|
|
4
4
|
chainId?: number;
|
|
5
5
|
};
|
|
6
|
-
export declare type GetWebSocketProviderResult<TWebSocketProvider extends
|
|
7
|
-
export declare function getWebSocketProvider<TWebSocketProvider extends
|
|
6
|
+
export declare type GetWebSocketProviderResult<TWebSocketProvider extends WebSocketProvider = WebSocketProvider> = TWebSocketProvider | undefined;
|
|
7
|
+
export declare function getWebSocketProvider<TWebSocketProvider extends WebSocketProvider = WebSocketProvider>({ chainId, }?: GetWebSocketProviderArgs): GetWebSocketProviderResult<TWebSocketProvider>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Provider } from '../../types';
|
|
2
2
|
import { GetProviderArgs, GetProviderResult } from './getProvider';
|
|
3
|
-
export declare type WatchProviderCallback<TProvider extends
|
|
4
|
-
export declare function watchProvider<TProvider extends
|
|
3
|
+
export declare type WatchProviderCallback<TProvider extends Provider = Provider> = (provider: GetProviderResult<TProvider>) => void;
|
|
4
|
+
export declare function watchProvider<TProvider extends Provider = Provider>(args: GetProviderArgs, callback: WatchProviderCallback<TProvider>): () => void;
|