@wagmi/core 0.3.0 → 0.3.3

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 (44) hide show
  1. package/chains/dist/wagmi-core-chains.cjs.d.ts +1 -0
  2. package/chains/dist/wagmi-core-chains.cjs.dev.js +22 -0
  3. package/chains/dist/wagmi-core-chains.cjs.js +7 -0
  4. package/chains/dist/wagmi-core-chains.cjs.prod.js +22 -0
  5. package/chains/dist/wagmi-core-chains.esm.js +2 -0
  6. package/chains/package.json +4 -0
  7. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +4 -14
  8. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +4 -14
  9. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +2 -12
  10. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +11 -5
  11. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +11 -5
  12. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +11 -5
  13. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +4 -3
  14. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +4 -3
  15. package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +2 -1
  16. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +4 -3
  17. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +4 -3
  18. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +2 -1
  19. package/dist/base-321ac87a.cjs.dev.js +288 -0
  20. package/dist/base-41fb6637.esm.js +265 -0
  21. package/dist/base-6841ebe0.cjs.prod.js +288 -0
  22. package/dist/chains-0dd661ab.cjs.prod.js +349 -0
  23. package/dist/chains-98e2e613.cjs.dev.js +349 -0
  24. package/dist/chains-a0a80d94.esm.js +329 -0
  25. package/dist/{client-08120ec7.cjs.dev.js → client-4172f963.cjs.dev.js} +30 -31
  26. package/dist/{client-d8d4f4fc.esm.js → client-87c1ff8b.esm.js} +28 -29
  27. package/dist/{client-332f5c43.cjs.prod.js → client-a06c45f3.cjs.prod.js} +30 -31
  28. package/dist/declarations/src/chains.d.ts +1 -0
  29. package/dist/declarations/src/client.d.ts +1 -1
  30. package/dist/declarations/src/connectors/injected.d.ts +1 -1
  31. package/dist/declarations/src/connectors/metaMask.d.ts +1 -1
  32. package/dist/declarations/src/constants/chains.d.ts +33 -2
  33. package/dist/declarations/src/index.d.ts +2 -3
  34. package/dist/declarations/src/types/index.d.ts +11 -4
  35. package/dist/declarations/src/{chains → utils}/configureChains.d.ts +2 -2
  36. package/dist/declarations/src/utils/index.d.ts +2 -0
  37. package/dist/wagmi-core.cjs.dev.js +118 -117
  38. package/dist/wagmi-core.cjs.prod.js +118 -117
  39. package/dist/wagmi-core.esm.js +108 -106
  40. package/package.json +11 -5
  41. package/dist/base-3a506159.cjs.dev.js +0 -602
  42. package/dist/base-997b4fec.esm.js +0 -573
  43. package/dist/base-cb4198f3.cjs.prod.js +0 -602
  44. package/dist/declarations/src/chains/index.d.ts +0 -2
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var base = require('./base-3a506159.cjs.dev.js');
3
+ var base = require('./base-321ac87a.cjs.dev.js');
4
4
  var ethers = require('ethers');
5
5
  var create = require('zustand/vanilla');
6
6
  var middleware = require('zustand/middleware');
7
7
  var utils = require('ethers/lib/utils');
8
+ var chains = require('./chains-98e2e613.cjs.dev.js');
8
9
 
9
10
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
10
11
 
@@ -66,12 +67,16 @@ var _provider = /*#__PURE__*/new WeakMap();
66
67
  var _isUserRejectedRequestError = /*#__PURE__*/new WeakSet();
67
68
 
68
69
  class InjectedConnector extends base.Connector {
69
- constructor(config) {
70
- super({ ...config,
71
- options: {
72
- shimDisconnect: true,
73
- ...(config === null || config === void 0 ? void 0 : config.options)
70
+ constructor() {
71
+ let {
72
+ chains,
73
+ options = {
74
+ shimDisconnect: true
74
75
  }
76
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
77
+ super({
78
+ chains,
79
+ options
75
80
  });
76
81
 
77
82
  base._classPrivateMethodInitSpec(this, _isUserRejectedRequestError);
@@ -114,9 +119,7 @@ class InjectedConnector extends base.Connector {
114
119
  let name = 'Injected';
115
120
 
116
121
  if (typeof window !== 'undefined') {
117
- var _config$options;
118
-
119
- const overrideName = config === null || config === void 0 ? void 0 : (_config$options = config.options) === null || _config$options === void 0 ? void 0 : _config$options.name;
122
+ const overrideName = options.name;
120
123
  const detectedName = getInjectedName(window.ethereum);
121
124
  if (overrideName) name = typeof overrideName === 'function' ? overrideName(detectedName) : overrideName;else name = typeof detectedName === 'string' ? detectedName : detectedName[0];
122
125
  }
@@ -230,8 +233,8 @@ class InjectedConnector extends base.Connector {
230
233
  chainId: id
231
234
  }]
232
235
  });
233
- const chains = [...this.chains, ...base.allChains];
234
- return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
236
+ const chains$1 = [...this.chains, ...chains.allChains];
237
+ return (_chains$find = chains$1.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
235
238
  id: chainId,
236
239
  name: "Chain ".concat(id),
237
240
  network: "".concat(id),
@@ -341,9 +344,21 @@ var _addEffects = /*#__PURE__*/new WeakSet();
341
344
 
342
345
  class Client {
343
346
  constructor() {
344
- var _config$autoConnect, _config$connectors, _config$provider, _config$storage;
345
-
346
- let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
347
+ let {
348
+ autoConnect = false,
349
+ connectors = [new InjectedConnector()],
350
+ provider: _provider = config => {
351
+ try {
352
+ return ethers.getDefaultProvider(config.chainId);
353
+ } catch {
354
+ return ethers.getDefaultProvider();
355
+ }
356
+ },
357
+ storage = createStorage({
358
+ storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
359
+ }),
360
+ webSocketProvider: _webSocketProvider
361
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
347
362
 
348
363
  base._classPrivateMethodInitSpec(this, _addEffects);
349
364
 
@@ -358,23 +373,7 @@ class Client {
358
373
  value: void 0
359
374
  });
360
375
 
361
- // Set default values for config
362
- const autoConnect = (_config$autoConnect = config.autoConnect) !== null && _config$autoConnect !== void 0 ? _config$autoConnect : false;
363
- const connectors = (_config$connectors = config.connectors) !== null && _config$connectors !== void 0 ? _config$connectors : [new InjectedConnector()];
364
-
365
- const _provider = (_config$provider = config.provider) !== null && _config$provider !== void 0 ? _config$provider : config => {
366
- try {
367
- return ethers.getDefaultProvider(config.chainId);
368
- } catch {
369
- return ethers.getDefaultProvider();
370
- }
371
- };
372
-
373
- const storage = (_config$storage = config.storage) !== null && _config$storage !== void 0 ? _config$storage : createStorage({
374
- storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
375
- });
376
- const _webSocketProvider = config.webSocketProvider; // Check status for autoConnect flag
377
-
376
+ // Check status for autoConnect flag
378
377
  let status = 'disconnected';
379
378
 
380
379
  let _chainId;
@@ -1,8 +1,9 @@
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';
1
+ import { b as Connector, _ as _classPrivateMethodInitSpec, f as _defineProperty, g as _classPrivateFieldInitSpec, n as normalizeChainId, a as ConnectorNotFoundError, h as _classPrivateMethodGet, U as UserRejectedRequestError, R as ResourceUnavailableError, i as _classPrivateFieldSet, j as _classPrivateFieldGet, c as ChainNotConfiguredError, A as AddChainError, e as SwitchChainError } from './base-41fb6637.esm.js';
2
2
  import { providers, getDefaultProvider } from 'ethers';
3
3
  import create from 'zustand/vanilla';
4
4
  import { subscribeWithSelector, persist } from 'zustand/middleware';
5
5
  import { getAddress, hexValue } from 'ethers/lib/utils';
6
+ import { a as allChains } from './chains-a0a80d94.esm.js';
6
7
 
7
8
  function getInjectedName(ethereum) {
8
9
  var _ethereum$providers, _getName;
@@ -60,12 +61,16 @@ var _provider = /*#__PURE__*/new WeakMap();
60
61
  var _isUserRejectedRequestError = /*#__PURE__*/new WeakSet();
61
62
 
62
63
  class InjectedConnector extends Connector {
63
- constructor(config) {
64
- super({ ...config,
65
- options: {
66
- shimDisconnect: true,
67
- ...(config === null || config === void 0 ? void 0 : config.options)
64
+ constructor() {
65
+ let {
66
+ chains,
67
+ options = {
68
+ shimDisconnect: true
68
69
  }
70
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
71
+ super({
72
+ chains,
73
+ options
69
74
  });
70
75
 
71
76
  _classPrivateMethodInitSpec(this, _isUserRejectedRequestError);
@@ -108,9 +113,7 @@ class InjectedConnector extends Connector {
108
113
  let name = 'Injected';
109
114
 
110
115
  if (typeof window !== 'undefined') {
111
- var _config$options;
112
-
113
- const overrideName = config === null || config === void 0 ? void 0 : (_config$options = config.options) === null || _config$options === void 0 ? void 0 : _config$options.name;
116
+ const overrideName = options.name;
114
117
  const detectedName = getInjectedName(window.ethereum);
115
118
  if (overrideName) name = typeof overrideName === 'function' ? overrideName(detectedName) : overrideName;else name = typeof detectedName === 'string' ? detectedName : detectedName[0];
116
119
  }
@@ -335,9 +338,21 @@ var _addEffects = /*#__PURE__*/new WeakSet();
335
338
 
336
339
  class Client {
337
340
  constructor() {
338
- var _config$autoConnect, _config$connectors, _config$provider, _config$storage;
339
-
340
- let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
341
+ let {
342
+ autoConnect = false,
343
+ connectors = [new InjectedConnector()],
344
+ provider: _provider = config => {
345
+ try {
346
+ return getDefaultProvider(config.chainId);
347
+ } catch {
348
+ return getDefaultProvider();
349
+ }
350
+ },
351
+ storage = createStorage({
352
+ storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
353
+ }),
354
+ webSocketProvider: _webSocketProvider
355
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
341
356
 
342
357
  _classPrivateMethodInitSpec(this, _addEffects);
343
358
 
@@ -352,23 +367,7 @@ class Client {
352
367
  value: void 0
353
368
  });
354
369
 
355
- // Set default values for config
356
- const autoConnect = (_config$autoConnect = config.autoConnect) !== null && _config$autoConnect !== void 0 ? _config$autoConnect : false;
357
- const connectors = (_config$connectors = config.connectors) !== null && _config$connectors !== void 0 ? _config$connectors : [new InjectedConnector()];
358
-
359
- const _provider = (_config$provider = config.provider) !== null && _config$provider !== void 0 ? _config$provider : config => {
360
- try {
361
- return getDefaultProvider(config.chainId);
362
- } catch {
363
- return getDefaultProvider();
364
- }
365
- };
366
-
367
- const storage = (_config$storage = config.storage) !== null && _config$storage !== void 0 ? _config$storage : createStorage({
368
- storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
369
- });
370
- const _webSocketProvider = config.webSocketProvider; // Check status for autoConnect flag
371
-
370
+ // Check status for autoConnect flag
372
371
  let status = 'disconnected';
373
372
 
374
373
  let _chainId;
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var base = require('./base-cb4198f3.cjs.prod.js');
3
+ var base = require('./base-6841ebe0.cjs.prod.js');
4
4
  var ethers = require('ethers');
5
5
  var create = require('zustand/vanilla');
6
6
  var middleware = require('zustand/middleware');
7
7
  var utils = require('ethers/lib/utils');
8
+ var chains = require('./chains-0dd661ab.cjs.prod.js');
8
9
 
9
10
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
10
11
 
@@ -66,12 +67,16 @@ var _provider = /*#__PURE__*/new WeakMap();
66
67
  var _isUserRejectedRequestError = /*#__PURE__*/new WeakSet();
67
68
 
68
69
  class InjectedConnector extends base.Connector {
69
- constructor(config) {
70
- super({ ...config,
71
- options: {
72
- shimDisconnect: true,
73
- ...(config === null || config === void 0 ? void 0 : config.options)
70
+ constructor() {
71
+ let {
72
+ chains,
73
+ options = {
74
+ shimDisconnect: true
74
75
  }
76
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
77
+ super({
78
+ chains,
79
+ options
75
80
  });
76
81
 
77
82
  base._classPrivateMethodInitSpec(this, _isUserRejectedRequestError);
@@ -114,9 +119,7 @@ class InjectedConnector extends base.Connector {
114
119
  let name = 'Injected';
115
120
 
116
121
  if (typeof window !== 'undefined') {
117
- var _config$options;
118
-
119
- const overrideName = config === null || config === void 0 ? void 0 : (_config$options = config.options) === null || _config$options === void 0 ? void 0 : _config$options.name;
122
+ const overrideName = options.name;
120
123
  const detectedName = getInjectedName(window.ethereum);
121
124
  if (overrideName) name = typeof overrideName === 'function' ? overrideName(detectedName) : overrideName;else name = typeof detectedName === 'string' ? detectedName : detectedName[0];
122
125
  }
@@ -230,8 +233,8 @@ class InjectedConnector extends base.Connector {
230
233
  chainId: id
231
234
  }]
232
235
  });
233
- const chains = [...this.chains, ...base.allChains];
234
- return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
236
+ const chains$1 = [...this.chains, ...chains.allChains];
237
+ return (_chains$find = chains$1.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
235
238
  id: chainId,
236
239
  name: "Chain ".concat(id),
237
240
  network: "".concat(id),
@@ -341,9 +344,21 @@ var _addEffects = /*#__PURE__*/new WeakSet();
341
344
 
342
345
  class Client {
343
346
  constructor() {
344
- var _config$autoConnect, _config$connectors, _config$provider, _config$storage;
345
-
346
- let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
347
+ let {
348
+ autoConnect = false,
349
+ connectors = [new InjectedConnector()],
350
+ provider: _provider = config => {
351
+ try {
352
+ return ethers.getDefaultProvider(config.chainId);
353
+ } catch {
354
+ return ethers.getDefaultProvider();
355
+ }
356
+ },
357
+ storage = createStorage({
358
+ storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
359
+ }),
360
+ webSocketProvider: _webSocketProvider
361
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
347
362
 
348
363
  base._classPrivateMethodInitSpec(this, _addEffects);
349
364
 
@@ -358,23 +373,7 @@ class Client {
358
373
  value: void 0
359
374
  });
360
375
 
361
- // Set default values for config
362
- const autoConnect = (_config$autoConnect = config.autoConnect) !== null && _config$autoConnect !== void 0 ? _config$autoConnect : false;
363
- const connectors = (_config$connectors = config.connectors) !== null && _config$connectors !== void 0 ? _config$connectors : [new InjectedConnector()];
364
-
365
- const _provider = (_config$provider = config.provider) !== null && _config$provider !== void 0 ? _config$provider : config => {
366
- try {
367
- return ethers.getDefaultProvider(config.chainId);
368
- } catch {
369
- return ethers.getDefaultProvider();
370
- }
371
- };
372
-
373
- const storage = (_config$storage = config.storage) !== null && _config$storage !== void 0 ? _config$storage : createStorage({
374
- storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
375
- });
376
- const _webSocketProvider = config.webSocketProvider; // Check status for autoConnect flag
377
-
376
+ // Check status for autoConnect flag
378
377
  let status = 'disconnected';
379
378
 
380
379
  let _chainId;
@@ -0,0 +1 @@
1
+ export { arbitrum, arbitrumRinkeby, goerli, hardhat, kovan, localhost, mainnet, optimism, optimismKovan, polygon, polygonMumbai, rinkeby, ropsten, } from './constants/chains';
@@ -54,7 +54,7 @@ export declare class Client<TProvider extends Provider = Provider, TWebSocketPro
54
54
  Partial<State<TProvider, TWebSocketProvider>>
55
55
  ]
56
56
  ]>;
57
- constructor(config?: ClientConfig<TProvider, TWebSocketProvider>);
57
+ constructor({ autoConnect, connectors, provider, storage, webSocketProvider, }?: ClientConfig<TProvider, TWebSocketProvider>);
58
58
  get chains(): import("./types").Chain[] | undefined;
59
59
  get connectors(): Connector<any, any>[];
60
60
  get connector(): Connector<any, any> | undefined;
@@ -17,7 +17,7 @@ export declare class InjectedConnector extends Connector<Window['ethereum'], Inj
17
17
  readonly id: string;
18
18
  readonly name: string;
19
19
  readonly ready: boolean;
20
- constructor(config?: {
20
+ constructor({ chains, options, }?: {
21
21
  chains?: Chain[];
22
22
  options?: InjectedConnectorOptions;
23
23
  });
@@ -5,7 +5,7 @@ export declare class MetaMaskConnector extends InjectedConnector {
5
5
  #private;
6
6
  readonly id = "metaMask";
7
7
  readonly ready: boolean;
8
- constructor(config?: {
8
+ constructor({ chains, options, }?: {
9
9
  chains?: Chain[];
10
10
  options?: MetaMaskConnectorOptions;
11
11
  });
@@ -1,5 +1,4 @@
1
1
  import { Chain } from '../types';
2
- export declare type ChainName = 'arbitrum' | 'arbitrumRinkeby' | 'goerli' | 'hardhat' | 'kovan' | 'localhost' | 'mainnet' | 'optimism' | 'optimismKovan' | 'polygon' | 'polygonMumbai' | 'rinkeby' | 'ropsten';
3
2
  export declare const chainId: {
4
3
  readonly mainnet: 1;
5
4
  readonly ropsten: 3;
@@ -15,7 +14,39 @@ export declare const chainId: {
15
14
  readonly localhost: 1337;
16
15
  readonly hardhat: 31337;
17
16
  };
18
- export declare const chain: Record<ChainName, Chain>;
17
+ export declare type ChainName = keyof typeof chainId;
18
+ export declare const mainnet: Chain;
19
+ export declare const ropsten: Chain;
20
+ export declare const rinkeby: Chain;
21
+ export declare const goerli: Chain;
22
+ export declare const kovan: Chain;
23
+ export declare const optimism: Chain;
24
+ export declare const optimismKovan: Chain;
25
+ export declare const polygon: Chain;
26
+ export declare const polygonMumbai: Chain;
27
+ export declare const arbitrum: Chain;
28
+ export declare const arbitrumRinkeby: Chain;
29
+ export declare const localhost: Chain;
30
+ export declare const hardhat: Chain;
31
+ /**
32
+ * Common chains for convenience
33
+ * Should not contain all possible chains
34
+ */
35
+ export declare const chain: {
36
+ readonly mainnet: Chain;
37
+ readonly ropsten: Chain;
38
+ readonly rinkeby: Chain;
39
+ readonly goerli: Chain;
40
+ readonly kovan: Chain;
41
+ readonly optimism: Chain;
42
+ readonly optimismKovan: Chain;
43
+ readonly polygon: Chain;
44
+ readonly polygonMumbai: Chain;
45
+ readonly arbitrum: Chain;
46
+ readonly arbitrumRinkeby: Chain;
47
+ readonly localhost: Chain;
48
+ readonly hardhat: Chain;
49
+ };
19
50
  export declare const allChains: Chain[];
20
51
  export declare const defaultChains: Chain[];
21
52
  export declare const defaultL2Chains: Chain[];
@@ -1,7 +1,5 @@
1
1
  export { connect, disconnect, fetchBalance, fetchBlockNumber, fetchEnsAddress, fetchEnsAvatar, fetchEnsName, fetchEnsResolver, fetchFeeData, fetchSigner, fetchToken, getAccount, getContract, getNetwork, getProvider, getWebSocketProvider, readContract, sendTransaction, signMessage, signTypedData, switchNetwork, waitForTransaction, watchAccount, watchBlockNumber, watchContractEvent, watchNetwork, watchProvider, watchReadContract, watchSigner, watchWebSocketProvider, writeContract, } from './actions';
2
2
  export type { ConnectArgs, ConnectResult, FetchBalanceArgs, FetchBalanceResult, FetchBlockNumberArgs, FetchBlockNumberResult, FetchEnsAddressArgs, FetchEnsAddressResult, FetchEnsAvatarArgs, FetchEnsAvatarResult, FetchEnsNameArgs, FetchEnsNameResult, FetchEnsResolverArgs, FetchEnsResolverResult, FetchFeeDataArgs, FetchFeeDataResult, FetchSignerResult, FetchTokenArgs, FetchTokenResult, GetAccountResult, GetContractArgs, GetNetworkResult, GetProviderArgs, GetProviderResult, GetWebSocketProviderArgs, GetWebSocketProviderResult, ReadContractArgs, ReadContractConfig, ReadContractResult, SendTransactionArgs, SendTransactionResult, SignMessageArgs, SignMessageResult, SignTypedDataArgs, SignTypedDataResult, SwitchNetworkArgs, SwitchNetworkResult, WaitForTransactionArgs, WaitForTransactionResult, WatchAccountCallback, WatchBlockNumberArgs, WatchBlockNumberCallback, WatchNetworkCallback, WatchReadContractArgs, WatchReadContractConfig, WatchReadContractResult, WatchSignerCallback, WriteContractArgs, WriteContractConfig, WriteContractResult, } from './actions';
3
- export { configureChains } from './chains';
4
- export type { ConfigureChainsConfig } from './chains';
5
3
  export { createClient, Client } from './client';
6
4
  export type { ClientConfig } from './client';
7
5
  export { Connector, InjectedConnector } from './connectors';
@@ -11,4 +9,5 @@ export { AddChainError, ChainNotConfiguredError, ConnectorAlreadyConnectedError,
11
9
  export { createStorage, noopStorage } from './storage';
12
10
  export type { ClientStorage as Storage } from './storage';
13
11
  export type { Chain, ChainProvider, FallbackProviderConfig, ProviderWithFallbackConfig, Provider, Unit, WebSocketProvider, } from './types';
14
- export { normalizeChainId } from './utils';
12
+ export { configureChains, normalizeChainId } from './utils';
13
+ export type { ConfigureChainsConfig } from './utils';
@@ -1,26 +1,33 @@
1
1
  import { providers } from 'ethers';
2
2
  import { BlockExplorer, BlockExplorerName, RpcProviderName, units } from '../constants';
3
3
  export declare type Chain = {
4
+ /** ID in number form */
4
5
  id: number;
5
- name: AddEthereumChainParameter['chainName'];
6
+ /** Human-readable name */
7
+ name: string;
8
+ /** Internal network name */
6
9
  network: string;
10
+ /** Currency used by chain */
7
11
  nativeCurrency?: AddEthereumChainParameter['nativeCurrency'];
12
+ /** Collection of RPC endpoints */
8
13
  rpcUrls: {
9
14
  [key in RpcProviderName]?: string;
10
15
  } & {
11
16
  [key: string]: string;
12
17
  default: string;
13
18
  };
19
+ /** Collection of block explorers */
14
20
  blockExplorers?: {
15
- [key in BlockExplorerName]: BlockExplorer;
21
+ [key in BlockExplorerName]?: BlockExplorer;
16
22
  } & {
17
23
  [key: string]: BlockExplorer;
18
24
  default: BlockExplorer;
19
25
  };
26
+ /** Flag for test networks */
20
27
  testnet?: boolean;
21
28
  };
22
- export declare type ChainProvider<TProvider extends Provider = Provider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider> = (chain: Chain) => {
23
- chain: Chain;
29
+ export declare type ChainProvider<TProvider extends Provider = Provider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider, TChain extends Chain = Chain> = (chain: TChain) => {
30
+ chain: TChain;
24
31
  provider: () => ProviderWithFallbackConfig<TProvider>;
25
32
  webSocketProvider?: () => TWebSocketProvider;
26
33
  } | null;
@@ -9,8 +9,8 @@ export declare type ConfigureChainsConfig = {
9
9
  targetQuorum: number;
10
10
  minQuorum?: number;
11
11
  });
12
- export declare function configureChains<TProvider extends Provider = Provider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider>(defaultChains: Chain[], providers: ChainProvider<TProvider, TWebSocketProvider>[], { minQuorum, targetQuorum, stallTimeout }?: ConfigureChainsConfig): {
13
- readonly chains: Chain[];
12
+ export declare function configureChains<TProvider extends Provider = Provider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider, TChain extends Chain = Chain>(defaultChains: TChain[], providers: ChainProvider<TProvider, TWebSocketProvider, TChain>[], { minQuorum, targetQuorum, stallTimeout }?: ConfigureChainsConfig): {
13
+ readonly chains: TChain[];
14
14
  readonly provider: ({ chainId }: {
15
15
  chainId?: number | undefined;
16
16
  }) => TProvider | providers.FallbackProvider;
@@ -1,3 +1,5 @@
1
+ export { configureChains } from './configureChains';
2
+ export type { ConfigureChainsConfig } from './configureChains';
1
3
  export { getInjectedName } from './getInjectedName';
2
4
  export { normalizeChainId } from './normalizeChainId';
3
5
  export { warn } from './warn';