@wagmi/core 0.2.0-next.8 → 0.2.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 (67) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +30 -0
  3. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +3 -3
  4. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +3 -3
  5. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +3 -3
  6. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +12 -9
  7. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +12 -9
  8. package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +12 -9
  9. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +3 -3
  10. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +3 -3
  11. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +3 -3
  12. package/dist/{base-7ffc0425.cjs.prod.js → base-5812b724.cjs.dev.js} +20 -21
  13. package/dist/{base-b3073ce2.cjs.dev.js → base-59f3457e.cjs.prod.js} +20 -21
  14. package/dist/{base-82f423a9.esm.js → base-d5bbf720.esm.js} +20 -22
  15. package/dist/{classPrivateMethodGet-1c660f09.esm.js → classPrivateMethodGet-93a70bfd.esm.js} +1 -1
  16. package/dist/{classPrivateMethodGet-0dc9fedc.cjs.dev.js → classPrivateMethodGet-976c8120.cjs.dev.js} +1 -1
  17. package/dist/{classPrivateMethodGet-c084b176.cjs.prod.js → classPrivateMethodGet-d7330ed7.cjs.prod.js} +1 -1
  18. package/dist/declarations/src/actions/accounts/connect.d.ts +8 -8
  19. package/dist/declarations/src/actions/accounts/fetchBalance.d.ts +3 -1
  20. package/dist/declarations/src/actions/accounts/fetchSigner.d.ts +1 -1
  21. package/dist/declarations/src/actions/accounts/getAccount.d.ts +5 -4
  22. package/dist/declarations/src/actions/accounts/index.d.ts +0 -1
  23. package/dist/declarations/src/actions/accounts/watchAccount.d.ts +3 -2
  24. package/dist/declarations/src/actions/contracts/getContract.d.ts +1 -1
  25. package/dist/declarations/src/actions/contracts/readContract.d.ts +4 -1
  26. package/dist/declarations/src/actions/contracts/watchContractEvent.d.ts +3 -1
  27. package/dist/declarations/src/actions/ens/fetchEnsAddress.d.ts +3 -1
  28. package/dist/declarations/src/actions/ens/fetchEnsAvatar.d.ts +3 -1
  29. package/dist/declarations/src/actions/ens/fetchEnsName.d.ts +3 -1
  30. package/dist/declarations/src/actions/ens/fetchEnsResolver.d.ts +3 -1
  31. package/dist/declarations/src/actions/ens/index.d.ts +0 -4
  32. package/dist/declarations/src/actions/index.d.ts +5 -5
  33. package/dist/declarations/src/actions/network-status/fetchBlockNumber.d.ts +4 -1
  34. package/dist/declarations/src/actions/network-status/fetchFeeData.d.ts +3 -1
  35. package/dist/declarations/src/actions/network-status/index.d.ts +1 -2
  36. package/dist/declarations/src/actions/providers/getProvider.d.ts +6 -2
  37. package/dist/declarations/src/actions/providers/getWebSocketProvider.d.ts +6 -2
  38. package/dist/declarations/src/actions/providers/index.d.ts +2 -2
  39. package/dist/declarations/src/actions/providers/watchProvider.d.ts +4 -3
  40. package/dist/declarations/src/actions/providers/watchWebSocketProvider.d.ts +4 -3
  41. package/dist/declarations/src/actions/tokens/fetchToken.d.ts +6 -10
  42. package/dist/declarations/src/actions/tokens/index.d.ts +0 -1
  43. package/dist/declarations/src/actions/transactions/waitForTransaction.d.ts +3 -1
  44. package/dist/declarations/src/client.d.ts +23 -22
  45. package/dist/declarations/src/connectors/base.d.ts +1 -2
  46. package/dist/declarations/src/connectors/injected.d.ts +2 -10
  47. package/dist/declarations/src/connectors/mock/connector.d.ts +1 -1
  48. package/dist/declarations/src/connectors/mock/provider.d.ts +2 -0
  49. package/dist/declarations/src/constants/chains.d.ts +1 -0
  50. package/dist/declarations/src/constants/index.d.ts +1 -1
  51. package/dist/declarations/src/constants/rpcs.d.ts +2 -0
  52. package/dist/declarations/src/index.d.ts +3 -3
  53. package/dist/declarations/src/types/index.d.ts +70 -4
  54. package/dist/declarations/src/utils/getInjectedName.d.ts +1 -1
  55. package/dist/wagmi-core.cjs.dev.js +252 -243
  56. package/dist/wagmi-core.cjs.prod.js +252 -243
  57. package/dist/wagmi-core.esm.js +251 -238
  58. package/package.json +17 -9
  59. package/dist/declarations/src/actions/accounts/watchBalance.d.ts +0 -3
  60. package/dist/declarations/src/actions/ens/watchEnsAddress.d.ts +0 -3
  61. package/dist/declarations/src/actions/ens/watchEnsAvatar.d.ts +0 -3
  62. package/dist/declarations/src/actions/ens/watchEnsName.d.ts +0 -3
  63. package/dist/declarations/src/actions/ens/watchEnsResolver.d.ts +0 -3
  64. package/dist/declarations/src/actions/network-status/watchFeeData.d.ts +0 -7
  65. package/dist/declarations/src/actions/tokens/watchToken.d.ts +0 -3
  66. package/dist/declarations/src/constants/keys.d.ts +0 -2
  67. package/dist/declarations/src/types/declarations.d.ts +0 -52
@@ -113,7 +113,6 @@ const etherscanBlockExplorers = {
113
113
  };
114
114
 
115
115
  const defaultAlchemyId = '_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC';
116
-
117
116
  const alchemyRpcUrls = {
118
117
  mainnet: 'https://eth-mainnet.alchemyapi.io/v2',
119
118
  ropsten: 'https://eth-ropsten.alchemyapi.io/v2',
@@ -159,7 +158,7 @@ const chainId = {
159
158
  const chain = {
160
159
  mainnet: {
161
160
  id: chainId.mainnet,
162
- name: 'Mainnet',
161
+ name: 'Ethereum',
163
162
  nativeCurrency: {
164
163
  name: 'Ether',
165
164
  symbol: 'ETH',
@@ -262,7 +261,7 @@ const chain = {
262
261
  rpcUrls: {
263
262
  alchemy: alchemyRpcUrls.optimism,
264
263
  infura: infuraRpcUrls.optimism,
265
- default: ['https://mainnet.optimism.io']
264
+ default: 'https://mainnet.optimism.io'
266
265
  },
267
266
  blockExplorers: {
268
267
  etherscan: etherscanBlockExplorers.optimism,
@@ -280,7 +279,7 @@ const chain = {
280
279
  rpcUrls: {
281
280
  alchemy: alchemyRpcUrls.optimismKovan,
282
281
  infura: infuraRpcUrls.optimismKovan,
283
- default: ['https://kovan.optimism.io']
282
+ default: 'https://kovan.optimism.io'
284
283
  },
285
284
  blockExplorers: {
286
285
  etherscan: etherscanBlockExplorers.optimismKovan,
@@ -290,7 +289,7 @@ const chain = {
290
289
  },
291
290
  polygon: {
292
291
  id: chainId.polygon,
293
- name: 'Polygon Mainnet',
292
+ name: 'Polygon',
294
293
  nativeCurrency: {
295
294
  name: 'MATIC',
296
295
  symbol: 'MATIC',
@@ -299,7 +298,7 @@ const chain = {
299
298
  rpcUrls: {
300
299
  alchemy: alchemyRpcUrls.polygon,
301
300
  infura: infuraRpcUrls.polygon,
302
- default: ['https://polygon-rpc.com', 'https://rpc-mainnet.matic.network', 'https://matic-mainnet.chainstacklabs.com', 'https://rpc-mainnet.maticvigil.com', 'https://rpc-mainnet.matic.quiknode.pro', 'https://matic-mainnet-full-rpc.bwarelabs.com']
301
+ default: 'https://polygon-rpc.com'
303
302
  },
304
303
  blockExplorers: {
305
304
  etherscan: etherscanBlockExplorers.polygon,
@@ -308,7 +307,7 @@ const chain = {
308
307
  },
309
308
  polygonMumbai: {
310
309
  id: chainId.polygonMumbai,
311
- name: 'Mumbai',
310
+ name: 'Polygon Mumbai',
312
311
  nativeCurrency: {
313
312
  name: 'MATIC',
314
313
  symbol: 'MATIC',
@@ -317,7 +316,7 @@ const chain = {
317
316
  rpcUrls: {
318
317
  alchemy: alchemyRpcUrls.polygonMumbai,
319
318
  infura: infuraRpcUrls.polygonMumbai,
320
- default: ['https://matic-mumbai.chainstacklabs.com', 'https://rpc-mumbai.maticvigil.com', 'https://matic-testnet-archive-rpc.bwarelabs.com']
319
+ default: 'https://matic-mumbai.chainstacklabs.com'
321
320
  },
322
321
  blockExplorers: {
323
322
  etherscan: etherscanBlockExplorers.polygonMumbai,
@@ -327,7 +326,7 @@ const chain = {
327
326
  },
328
327
  arbitrum: {
329
328
  id: chainId.arbitrum,
330
- name: 'Arbitrum One',
329
+ name: 'Arbitrum',
331
330
  nativeCurrency: {
332
331
  name: 'Ether',
333
332
  symbol: 'AETH',
@@ -336,14 +335,15 @@ const chain = {
336
335
  rpcUrls: {
337
336
  alchemy: alchemyRpcUrls.arbitrum,
338
337
  infura: infuraRpcUrls.arbitrum,
339
- default: ['https://arb1.arbitrum.io/rpc']
338
+ default: 'https://arb1.arbitrum.io/rpc'
340
339
  },
341
340
  blockExplorers: {
342
- etherscan: etherscanBlockExplorers.arbitrum,
343
- default: [etherscanBlockExplorers.arbitrum, {
341
+ arbitrum: {
344
342
  name: 'Arbitrum Explorer',
345
343
  url: 'https://explorer.arbitrum.io'
346
- }]
344
+ },
345
+ etherscan: etherscanBlockExplorers.arbitrum,
346
+ default: etherscanBlockExplorers.arbitrum
347
347
  }
348
348
  },
349
349
  arbitrumRinkeby: {
@@ -357,14 +357,15 @@ const chain = {
357
357
  rpcUrls: {
358
358
  alchemy: alchemyRpcUrls.arbitrumRinkeby,
359
359
  infura: infuraRpcUrls.arbitrumRinkeby,
360
- default: ['https://rinkeby.arbitrum.io/rpc']
360
+ default: 'https://rinkeby.arbitrum.io/rpc'
361
361
  },
362
362
  blockExplorers: {
363
- etherscan: etherscanBlockExplorers.arbitrumRinkeby,
364
- default: [etherscanBlockExplorers.arbitrumRinkeby, {
363
+ arbitrum: {
365
364
  name: 'Arbitrum Explorer',
366
365
  url: 'https://rinkeby-explorer.arbitrum.io'
367
- }]
366
+ },
367
+ etherscan: etherscanBlockExplorers.arbitrumRinkeby,
368
+ default: etherscanBlockExplorers.arbitrumRinkeby
368
369
  },
369
370
  testnet: true
370
371
  },
@@ -385,6 +386,7 @@ const chain = {
385
386
  };
386
387
  const allChains = Object.values(chain);
387
388
  const defaultChains = [chain.mainnet, chain.ropsten, chain.rinkeby, chain.goerli, chain.kovan];
389
+ const defaultL2Chains = [chain.arbitrum, chain.arbitrumRinkeby, chain.optimism, chain.optimismKovan];
388
390
 
389
391
  function normalizeChainId(chainId) {
390
392
  if (typeof chainId === 'string') return Number.parseInt(chainId, chainId.trim().substring(0, 2) === '0x' ? 16 : 10);
@@ -502,14 +504,10 @@ class Connector extends EventEmitter {
502
504
  return [];
503
505
  }
504
506
 
505
- getRpcUrls(chain) {
506
- return typeof chain.rpcUrls.default === 'string' ? [chain.rpcUrls.default] : chain.rpcUrls.default;
507
- }
508
-
509
507
  isChainUnsupported(chainId) {
510
508
  return !this.chains.some(x => x.id === chainId);
511
509
  }
512
510
 
513
511
  }
514
512
 
515
- export { AddChainError as A, Connector as C, SwitchChainError as S, UserRejectedRequestError as U, _defineProperty as _, _classPrivateFieldInitSpec as a, ConnectorNotFoundError as b, _classPrivateFieldSet as c, _classPrivateFieldGet as d, allChains as e, ChainNotConfiguredError as f, ConnectorAlreadyConnectedError as g, SwitchChainNotSupportedError as h, alchemyRpcUrls as i, chain as j, chainId as k, defaultChains as l, etherscanBlockExplorers as m, normalizeChainId as n, infuraRpcUrls as o, _checkPrivateRedeclaration as p };
513
+ export { AddChainError as A, Connector as C, SwitchChainError as S, UserRejectedRequestError as U, _defineProperty as _, _classPrivateFieldInitSpec as a, ConnectorNotFoundError as b, _classPrivateFieldSet as c, _classPrivateFieldGet as d, allChains as e, ChainNotConfiguredError as f, ConnectorAlreadyConnectedError as g, SwitchChainNotSupportedError as h, alchemyRpcUrls as i, chain as j, chainId as k, defaultChains as l, defaultL2Chains as m, normalizeChainId as n, etherscanBlockExplorers as o, infuraRpcUrls as p, _checkPrivateRedeclaration as q };
@@ -1,4 +1,4 @@
1
- import { p as _checkPrivateRedeclaration } from './base-82f423a9.esm.js';
1
+ import { q as _checkPrivateRedeclaration } from './base-d5bbf720.esm.js';
2
2
 
3
3
  function _classPrivateMethodInitSpec(obj, privateSet) {
4
4
  _checkPrivateRedeclaration(obj, privateSet);
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var base = require('./base-b3073ce2.cjs.dev.js');
3
+ var base = require('./base-5812b724.cjs.dev.js');
4
4
 
5
5
  function _classPrivateMethodInitSpec(obj, privateSet) {
6
6
  base._checkPrivateRedeclaration(obj, privateSet);
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var base = require('./base-7ffc0425.cjs.prod.js');
3
+ var base = require('./base-59f3457e.cjs.prod.js');
4
4
 
5
5
  function _classPrivateMethodInitSpec(obj, privateSet) {
6
6
  base._checkPrivateRedeclaration(obj, privateSet);
@@ -1,16 +1,16 @@
1
- import { BaseProvider } from '@ethersproject/providers';
1
+ import type { BaseProvider } from '@ethersproject/providers';
2
2
  import { Client } from '../../client';
3
3
  import { Connector, ConnectorData } from '../../connectors';
4
4
  export declare type ConnectArgs = {
5
5
  /** Connector to connect */
6
6
  connector: Connector;
7
7
  };
8
- declare type Data = Required<ConnectorData<BaseProvider>>;
9
- export declare type ConnectResult = {
10
- account: Data['account'];
11
- chain: Data['chain'];
12
- connector: Client['connector'];
13
- provider: Data['provider'];
8
+ declare type Data<TProvider extends BaseProvider = BaseProvider> = Required<ConnectorData<TProvider>>;
9
+ export declare type ConnectResult<TProvider extends BaseProvider = BaseProvider> = {
10
+ account: Data<TProvider>['account'];
11
+ chain: Data<TProvider>['chain'];
12
+ connector: Client<TProvider>['connector'];
13
+ provider: Data<TProvider>['provider'];
14
14
  };
15
- export declare function connect({ connector, }: ConnectArgs): Promise<ConnectResult>;
15
+ export declare function connect<TProvider extends BaseProvider>({ connector, }: ConnectArgs): Promise<ConnectResult<TProvider>>;
16
16
  export {};
@@ -3,6 +3,8 @@ import { Unit } from '../../types';
3
3
  export declare type FetchBalanceArgs = {
4
4
  /** Address or ENS name */
5
5
  addressOrName: string;
6
+ /** Chain id to use for provider */
7
+ chainId?: number;
6
8
  /** Units for formatting output */
7
9
  formatUnits?: Unit | number;
8
10
  /** ERC-20 address */
@@ -15,4 +17,4 @@ export declare type FetchBalanceResult = {
15
17
  unit: Unit | number;
16
18
  value: BigNumber;
17
19
  };
18
- export declare function fetchBalance({ addressOrName, formatUnits: unit, token, }: FetchBalanceArgs): Promise<FetchBalanceResult>;
20
+ export declare function fetchBalance({ addressOrName, chainId, formatUnits: unit, token, }: FetchBalanceArgs): Promise<FetchBalanceResult>;
@@ -1,3 +1,3 @@
1
1
  import { Signer } from 'ethers/lib/ethers';
2
- export declare type FetchSignerResult = Signer | undefined;
2
+ export declare type FetchSignerResult = Signer | null;
3
3
  export declare function fetchSigner(): Promise<FetchSignerResult>;
@@ -1,6 +1,7 @@
1
+ import type { BaseProvider } from '@ethersproject/providers';
1
2
  import { Client, Data } from '../../client';
2
- export declare type GetAccountResult = {
3
- address?: Data['account'];
4
- connector?: Client['connector'];
3
+ export declare type GetAccountResult<TProvider extends BaseProvider = BaseProvider> = {
4
+ address?: Data<TProvider>['account'];
5
+ connector?: Client<TProvider>['connector'];
5
6
  };
6
- export declare function getAccount(): GetAccountResult;
7
+ export declare function getAccount<TProvider extends BaseProvider>(): GetAccountResult<TProvider>;
@@ -8,6 +8,5 @@ export { signMessage, type SignMessageArgs, type SignMessageResult, } from './si
8
8
  export { signTypedData, type SignTypedDataArgs, type SignTypedDataResult, } from './signTypedData';
9
9
  export { switchNetwork, type SwitchNetworkArgs, type SwitchNetworkResult, } from './switchNetwork';
10
10
  export { watchAccount, type WatchAccountCallback } from './watchAccount';
11
- export { watchBalance, type WatchBalanceCallback } from './watchBalance';
12
11
  export { watchNetwork, type WatchNetworkCallback } from './watchNetwork';
13
12
  export { watchSigner, type WatchSignerCallback } from './watchSigner';
@@ -1,3 +1,4 @@
1
+ import type { BaseProvider } from '@ethersproject/providers';
1
2
  import { GetAccountResult } from './getAccount';
2
- export declare type WatchAccountCallback = (data: GetAccountResult) => void;
3
- export declare function watchAccount(callback: WatchAccountCallback): () => void;
3
+ export declare type WatchAccountCallback<TProvider extends BaseProvider = BaseProvider> = (data: GetAccountResult<TProvider>) => void;
4
+ export declare function watchAccount<TProvider extends BaseProvider>(callback: WatchAccountCallback<TProvider>): () => void;
@@ -6,6 +6,6 @@ export declare type GetContractArgs = {
6
6
  /** Contract interface or ABI */
7
7
  contractInterface: ContractInterface;
8
8
  /** Signer or provider to attach to contract */
9
- signerOrProvider?: Signer | Provider;
9
+ signerOrProvider?: Signer | Provider | null;
10
10
  };
11
11
  export declare function getContract<T = Contract>({ addressOrName, contractInterface, signerOrProvider, }: GetContractArgs): T;
@@ -5,7 +5,10 @@ export declare type ReadContractArgs = GetContractArgs;
5
5
  export declare type ReadContractConfig = {
6
6
  /** Arguments to pass contract method */
7
7
  args?: any | any[];
8
+ /** Chain id to use for provider */
9
+ chainId?: number;
10
+ /** Call overrides */
8
11
  overrides?: CallOverrides;
9
12
  };
10
13
  export declare type ReadContractResult = Result;
11
- export declare function readContract<Contract extends EthersContract = EthersContract>(contractConfig: ReadContractArgs, functionName: string, { args, overrides }?: ReadContractConfig): Promise<Result>;
14
+ export declare function readContract<Contract extends EthersContract = EthersContract>(contractConfig: ReadContractArgs, functionName: string, { args, chainId, overrides }?: ReadContractConfig): Promise<Result>;
@@ -1,6 +1,8 @@
1
1
  import { Contract as EthersContract } from 'ethers/lib/ethers';
2
2
  import { GetContractArgs } from './getContract';
3
3
  declare type Config = {
4
+ /** Chain id to use for provider */
5
+ chainId?: number;
4
6
  /** Receive only a single event */
5
7
  once?: boolean;
6
8
  };
@@ -8,5 +10,5 @@ export declare function watchContractEvent<Contract extends EthersContract = Eth
8
10
  /** Contract configuration */
9
11
  contractArgs: GetContractArgs,
10
12
  /** Event name to listen to */
11
- eventName: Parameters<Contract['on']>[0], callback: Parameters<Contract['on']>[1], { once }?: Config): () => void;
13
+ eventName: Parameters<Contract['on']>[0], callback: Parameters<Contract['on']>[1], { chainId, once }?: Config): () => void;
12
14
  export {};
@@ -1,6 +1,8 @@
1
1
  export declare type FetchEnsAddressArgs = {
2
+ /** Chain id to use for provider */
3
+ chainId?: number;
2
4
  /** ENS name to resolve */
3
5
  name: string;
4
6
  };
5
7
  export declare type FetchEnsAddressResult = string | null;
6
- export declare function fetchEnsAddress({ name, }: FetchEnsAddressArgs): Promise<FetchEnsAddressResult>;
8
+ export declare function fetchEnsAddress({ chainId, name, }: FetchEnsAddressArgs): Promise<FetchEnsAddressResult>;
@@ -1,6 +1,8 @@
1
1
  export declare type FetchEnsAvatarArgs = {
2
2
  /** Address or ENS name */
3
3
  addressOrName: string;
4
+ /** Chain id to use for provider */
5
+ chainId?: number;
4
6
  };
5
7
  export declare type FetchEnsAvatarResult = string | null;
6
- export declare function fetchEnsAvatar({ addressOrName, }: FetchEnsAvatarArgs): Promise<FetchEnsAvatarResult>;
8
+ export declare function fetchEnsAvatar({ addressOrName, chainId, }: FetchEnsAvatarArgs): Promise<FetchEnsAvatarResult>;
@@ -1,6 +1,8 @@
1
1
  export declare type FetchEnsNameArgs = {
2
2
  /** Address to lookup */
3
3
  address: string;
4
+ /** Chain id to use for provider */
5
+ chainId?: number;
4
6
  };
5
7
  export declare type FetchEnsNameResult = string | null;
6
- export declare function fetchEnsName({ address, }: FetchEnsNameArgs): Promise<FetchEnsNameResult>;
8
+ export declare function fetchEnsName({ address, chainId, }: FetchEnsNameArgs): Promise<FetchEnsNameResult>;
@@ -1,7 +1,9 @@
1
1
  import type { Resolver } from '@ethersproject/providers';
2
2
  export declare type FetchEnsResolverArgs = {
3
+ /** Chain id to use for provider */
4
+ chainId?: number;
3
5
  /** ENS name to resolve */
4
6
  name: string;
5
7
  };
6
8
  export declare type FetchEnsResolverResult = Resolver | null;
7
- export declare function fetchEnsResolver({ name, }: FetchEnsResolverArgs): Promise<FetchEnsResolverResult>;
9
+ export declare function fetchEnsResolver({ chainId, name, }: FetchEnsResolverArgs): Promise<FetchEnsResolverResult>;
@@ -2,7 +2,3 @@ export { fetchEnsAddress, type FetchEnsAddressArgs, type FetchEnsAddressResult,
2
2
  export { fetchEnsAvatar, type FetchEnsAvatarArgs, type FetchEnsAvatarResult, } from './fetchEnsAvatar';
3
3
  export { fetchEnsName, type FetchEnsNameArgs, type FetchEnsNameResult, } from './fetchEnsName';
4
4
  export { fetchEnsResolver, type FetchEnsResolverArgs, type FetchEnsResolverResult, } from './fetchEnsResolver';
5
- export { watchEnsAddress, type WatchEnsAddressCallback, } from './watchEnsAddress';
6
- export { type WatchEnsAvatarCallback, watchEnsAvatar } from './watchEnsAvatar';
7
- export { type WatchEnsNameCallback, watchEnsName } from './watchEnsName';
8
- export { watchEnsResolver, type WatchEnsResolverCallback, } from './watchEnsResolver';
@@ -1,7 +1,7 @@
1
- export { connect, disconnect, fetchBalance, fetchSigner, getAccount, getNetwork, signMessage, signTypedData, switchNetwork, watchAccount, watchBalance, watchNetwork, watchSigner, type ConnectArgs, type ConnectResult, type FetchBalanceArgs, type FetchBalanceResult, type FetchSignerResult, type GetAccountResult, type GetNetworkResult, type SignMessageArgs, type SignMessageResult, type SignTypedDataArgs, type SignTypedDataResult, type SwitchNetworkArgs, type SwitchNetworkResult, type WatchAccountCallback, type WatchBalanceCallback, type WatchNetworkCallback, type WatchSignerCallback, } from './accounts';
1
+ export { connect, disconnect, fetchBalance, fetchSigner, getAccount, getNetwork, signMessage, signTypedData, switchNetwork, watchAccount, watchNetwork, watchSigner, type ConnectArgs, type ConnectResult, type FetchBalanceArgs, type FetchBalanceResult, type FetchSignerResult, type GetAccountResult, type GetNetworkResult, type SignMessageArgs, type SignMessageResult, type SignTypedDataArgs, type SignTypedDataResult, type SwitchNetworkArgs, type SwitchNetworkResult, type WatchAccountCallback, type WatchNetworkCallback, type WatchSignerCallback, } from './accounts';
2
2
  export { getContract, readContract, watchContractEvent, watchReadContract, writeContract, type GetContractArgs, type ReadContractArgs, type ReadContractConfig, type ReadContractResult, type WatchReadContractArgs, type WatchReadContractConfig, type WatchReadContractResult, type WriteContractArgs, type WriteContractConfig, type WriteContractResult, } from './contracts';
3
- export { fetchEnsAddress, fetchEnsAvatar, fetchEnsName, fetchEnsResolver, watchEnsAddress, watchEnsAvatar, watchEnsName, watchEnsResolver, type FetchEnsAddressArgs, type FetchEnsAddressResult, type FetchEnsAvatarArgs, type FetchEnsAvatarResult, type FetchEnsNameArgs, type FetchEnsNameResult, type FetchEnsResolverArgs, type FetchEnsResolverResult, type WatchEnsAddressCallback, type WatchEnsAvatarCallback, type WatchEnsNameCallback, type WatchEnsResolverCallback, } from './ens';
4
- export { fetchBlockNumber, fetchFeeData, watchBlockNumber, watchFeeData, type FetchBlockNumberResult, type FetchFeeDataArgs, type FetchFeeDataResult, type WatchBlockNumberArgs, type WatchBlockNumberCallback, type WatchFeeDataArgs, type WatchFeeDataCallback, } from './network-status';
5
- export { getProvider, getWebSocketProvider, watchProvider, watchWebSocketProvider, type GetProviderResult, type GetWebSocketProviderResult, type WatchProviderCallback, type WatchWebSocketProviderCallback, } from './providers';
6
- export { fetchToken, watchToken, type FetchTokenArgs, type FetchTokenResult, type WatchTokenCallback, } from './tokens';
3
+ export { fetchEnsAddress, fetchEnsAvatar, fetchEnsName, fetchEnsResolver, type FetchEnsAddressArgs, type FetchEnsAddressResult, type FetchEnsAvatarArgs, type FetchEnsAvatarResult, type FetchEnsNameArgs, type FetchEnsNameResult, type FetchEnsResolverArgs, type FetchEnsResolverResult, } from './ens';
4
+ export { fetchBlockNumber, fetchFeeData, watchBlockNumber, type FetchBlockNumberArgs, type FetchBlockNumberResult, type FetchFeeDataArgs, type FetchFeeDataResult, type WatchBlockNumberArgs, type WatchBlockNumberCallback, } from './network-status';
5
+ export { getProvider, getWebSocketProvider, watchProvider, watchWebSocketProvider, type GetProviderArgs, type GetProviderResult, type GetWebSocketProviderArgs, type GetWebSocketProviderResult, type WatchProviderCallback, type WatchWebSocketProviderCallback, } from './providers';
6
+ export { fetchToken, type FetchTokenArgs, type FetchTokenResult, } from './tokens';
7
7
  export { sendTransaction, waitForTransaction, type SendTransactionArgs, type SendTransactionResult, type WaitForTransactionArgs, type WaitForTransactionResult, } from './transactions';
@@ -1,2 +1,5 @@
1
+ export declare type FetchBlockNumberArgs = {
2
+ chainId?: number;
3
+ };
1
4
  export declare type FetchBlockNumberResult = number;
2
- export declare function fetchBlockNumber(): Promise<number>;
5
+ export declare function fetchBlockNumber({ chainId, }?: FetchBlockNumberArgs): Promise<FetchBlockNumberResult>;
@@ -3,6 +3,8 @@ import { Unit } from '../../types';
3
3
  export declare type FetchFeeDataArgs = {
4
4
  /** Units for formatting output */
5
5
  formatUnits?: Unit | number;
6
+ /** Chain id to use for provider */
7
+ chainId?: number;
6
8
  };
7
9
  export declare type FetchFeeDataResult = FeeData & {
8
10
  formatted: {
@@ -11,4 +13,4 @@ export declare type FetchFeeDataResult = FeeData & {
11
13
  maxPriorityFeePerGas: string;
12
14
  };
13
15
  };
14
- export declare function fetchFeeData({ formatUnits: units, }?: FetchFeeDataArgs): Promise<FetchFeeDataResult>;
16
+ export declare function fetchFeeData({ chainId, formatUnits: units, }?: FetchFeeDataArgs): Promise<FetchFeeDataResult>;
@@ -1,4 +1,3 @@
1
- export { fetchBlockNumber, type FetchBlockNumberResult, } from './fetchBlockNumber';
1
+ export { fetchBlockNumber, type FetchBlockNumberArgs, type FetchBlockNumberResult, } from './fetchBlockNumber';
2
2
  export { fetchFeeData, type FetchFeeDataResult, type FetchFeeDataArgs, } from './fetchFeeData';
3
- export { watchFeeData, type WatchFeeDataArgs, type WatchFeeDataCallback, } from './watchFeeData';
4
3
  export { watchBlockNumber, type WatchBlockNumberArgs, type WatchBlockNumberCallback, } from './watchBlockNumber';
@@ -1,3 +1,7 @@
1
1
  import type { BaseProvider } from '@ethersproject/providers';
2
- export declare type GetProviderResult = BaseProvider;
3
- export declare function getProvider(): GetProviderResult;
2
+ export declare type GetProviderArgs = {
3
+ /** Chain id to use for provider */
4
+ chainId?: number;
5
+ };
6
+ export declare type GetProviderResult<TProvider extends BaseProvider = BaseProvider> = TProvider;
7
+ export declare function getProvider<TProvider extends BaseProvider = BaseProvider>({ chainId, }?: GetProviderArgs): GetProviderResult<TProvider>;
@@ -1,3 +1,7 @@
1
1
  import type { WebSocketProvider } from '@ethersproject/providers';
2
- export declare type GetWebSocketProviderResult = WebSocketProvider | undefined;
3
- export declare function getWebSocketProvider(): GetWebSocketProviderResult;
2
+ export declare type GetWebSocketProviderArgs = {
3
+ /** Chain id to use for provider */
4
+ chainId?: number;
5
+ };
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
- export { getProvider, type GetProviderResult } from './getProvider';
2
- export { getWebSocketProvider, type GetWebSocketProviderResult, } from './getWebSocketProvider';
1
+ export { getProvider, type GetProviderArgs, type GetProviderResult, } from './getProvider';
2
+ export { getWebSocketProvider, type GetWebSocketProviderArgs, type GetWebSocketProviderResult, } from './getWebSocketProvider';
3
3
  export { watchProvider, type WatchProviderCallback } from './watchProvider';
4
4
  export { watchWebSocketProvider, type WatchWebSocketProviderCallback, } from './watchWebSocketProvider';
@@ -1,3 +1,4 @@
1
- import { GetProviderResult } from './getProvider';
2
- export declare type WatchProviderCallback = (provider: GetProviderResult) => void;
3
- export declare function watchProvider(callback: WatchProviderCallback): () => void;
1
+ import type { BaseProvider } from '@ethersproject/providers';
2
+ import { GetProviderArgs, GetProviderResult } from './getProvider';
3
+ export declare type WatchProviderCallback<TProvider extends BaseProvider = BaseProvider> = (provider: GetProviderResult<TProvider>) => void;
4
+ export declare function watchProvider<TProvider extends BaseProvider = BaseProvider>(args: GetProviderArgs, callback: WatchProviderCallback<TProvider>): () => void;
@@ -1,3 +1,4 @@
1
- import { GetWebSocketProviderResult } from './getWebSocketProvider';
2
- export declare type WatchWebSocketProviderCallback = (webSocketProvider: GetWebSocketProviderResult) => void;
3
- export declare function watchWebSocketProvider(callback: WatchWebSocketProviderCallback): () => void;
1
+ import type { WebSocketProvider } from '@ethersproject/providers';
2
+ import { GetWebSocketProviderArgs, GetWebSocketProviderResult } from './getWebSocketProvider';
3
+ export declare type WatchWebSocketProviderCallback<TWebSocketProvider extends WebSocketProvider = WebSocketProvider> = (webSocketProvider: GetWebSocketProviderResult<TWebSocketProvider>) => void;
4
+ export declare function watchWebSocketProvider<TWebSocketProvider extends WebSocketProvider = WebSocketProvider>(args: GetWebSocketProviderArgs, callback: WatchWebSocketProviderCallback<TWebSocketProvider>): () => void;
@@ -1,7 +1,11 @@
1
1
  import { BigNumber } from 'ethers/lib/ethers';
2
2
  import { Unit } from '../../types';
3
3
  export declare type FetchTokenArgs = {
4
- address?: string;
4
+ /** Address of ERC-20 token */
5
+ address: string;
6
+ /** Chain id to use for provider */
7
+ chainId?: number;
8
+ /** Units for formatting output */
5
9
  formatUnits?: Unit | number;
6
10
  };
7
11
  export declare type FetchTokenResult = {
@@ -13,12 +17,4 @@ export declare type FetchTokenResult = {
13
17
  value: BigNumber;
14
18
  };
15
19
  };
16
- export declare function fetchToken({ address, formatUnits: units, }: FetchTokenArgs): Promise<{
17
- address: string;
18
- decimals: any;
19
- symbol: any;
20
- totalSupply: {
21
- formatted: string;
22
- value: any;
23
- };
24
- }>;
20
+ export declare function fetchToken({ address, chainId, formatUnits: units, }: FetchTokenArgs): Promise<FetchTokenResult>;
@@ -1,2 +1 @@
1
1
  export { fetchToken, type FetchTokenArgs, type FetchTokenResult, } from './fetchToken';
2
- export { watchToken, type WatchTokenCallback } from './watchToken';
@@ -1,5 +1,7 @@
1
1
  import type { TransactionReceipt, TransactionResponse } from '@ethersproject/providers';
2
2
  export declare type WaitForTransactionArgs = {
3
+ /** Chain id to use for provider */
4
+ chainId?: number;
3
5
  /**
4
6
  * Number of blocks to wait for after transaction is mined
5
7
  * @default 1
@@ -12,4 +14,4 @@ export declare type WaitForTransactionArgs = {
12
14
  wait?: TransactionResponse['wait'];
13
15
  };
14
16
  export declare type WaitForTransactionResult = TransactionReceipt;
15
- export declare function waitForTransaction(args: WaitForTransactionArgs): Promise<WaitForTransactionResult>;
17
+ export declare function waitForTransaction({ chainId, confirmations, hash, timeout, wait: wait_, }: WaitForTransactionArgs): Promise<WaitForTransactionResult>;
@@ -2,7 +2,7 @@ import type { BaseProvider, WebSocketProvider } from '@ethersproject/providers';
2
2
  import { Mutate, StoreApi } from 'zustand/vanilla';
3
3
  import { Connector, ConnectorData } from './connectors';
4
4
  import { WagmiStorage } from './storage';
5
- export declare type ClientConfig = {
5
+ export declare type ClientConfig<TProvider extends BaseProvider = BaseProvider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider> = {
6
6
  /** Enables reconnecting to last used connector on init */
7
7
  autoConnect?: boolean;
8
8
  /**
@@ -18,7 +18,7 @@ export declare type ClientConfig = {
18
18
  */
19
19
  provider?: ((config: {
20
20
  chainId?: number;
21
- }) => BaseProvider) | BaseProvider;
21
+ }) => TProvider) | TProvider;
22
22
  /**
23
23
  * Custom storage for data persistance
24
24
  * @default window.localStorage
@@ -27,54 +27,55 @@ export declare type ClientConfig = {
27
27
  /** WebSocket interface for connecting to network */
28
28
  webSocketProvider?: ((config: {
29
29
  chainId?: number;
30
- }) => WebSocketProvider | undefined) | WebSocketProvider;
30
+ }) => TWebSocketProvider | undefined) | TWebSocketProvider;
31
31
  };
32
- export declare type Data = ConnectorData<BaseProvider>;
33
- export declare type State = {
32
+ export declare type Data<TProvider extends BaseProvider> = ConnectorData<TProvider>;
33
+ export declare type State<TProvider extends BaseProvider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider> = {
34
34
  chains?: Connector['chains'];
35
35
  connector?: Connector;
36
36
  connectors: Connector[];
37
- data?: Data;
37
+ data?: Data<TProvider>;
38
38
  error?: Error;
39
- provider: BaseProvider;
39
+ provider: TProvider;
40
40
  status: 'connected' | 'connecting' | 'reconnecting' | 'disconnected';
41
- webSocketProvider?: WebSocketProvider;
41
+ webSocketProvider?: TWebSocketProvider;
42
42
  };
43
- export declare class Client {
43
+ export declare class Client<TProvider extends BaseProvider = BaseProvider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider> {
44
44
  #private;
45
- config: Partial<ClientConfig>;
45
+ config: Partial<ClientConfig<TProvider, TWebSocketProvider>>;
46
46
  storage: WagmiStorage;
47
- store: Mutate<StoreApi<State>, [
47
+ store: Mutate<StoreApi<State<TProvider, TWebSocketProvider>>, [
48
48
  [
49
49
  'zustand/subscribeWithSelector',
50
50
  never
51
51
  ],
52
52
  [
53
53
  'zustand/persist',
54
- Partial<State>
54
+ Partial<State<TProvider, TWebSocketProvider>>
55
55
  ]
56
56
  ]>;
57
- constructor({ autoConnect, connectors, provider, storage, webSocketProvider, }?: ClientConfig);
57
+ constructor(config?: 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;
61
- get data(): Data | undefined;
61
+ get data(): Data<TProvider> | undefined;
62
62
  get error(): Error | undefined;
63
- get provider(): BaseProvider;
63
+ get provider(): TProvider;
64
64
  get status(): "connecting" | "connected" | "reconnecting" | "disconnected";
65
65
  get subscribe(): {
66
- (listener: (selectedState: State, previousSelectedState: State) => void): () => void;
67
- <U>(selector: (state: State) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
66
+ (listener: (selectedState: State<TProvider, TWebSocketProvider>, previousSelectedState: State<TProvider, TWebSocketProvider>) => void): () => void;
67
+ <U>(selector: (state: State<TProvider, TWebSocketProvider>) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
68
68
  equalityFn?: ((a: U, b: U) => boolean) | undefined;
69
69
  fireImmediately?: boolean | undefined;
70
70
  } | undefined): () => void;
71
71
  };
72
- get webSocketProvider(): WebSocketProvider | undefined;
73
- setState(updater: State | ((state: State) => State)): void;
72
+ get webSocketProvider(): TWebSocketProvider | undefined;
73
+ setState(updater: State<TProvider, TWebSocketProvider> | ((state: State<TProvider, TWebSocketProvider>) => State<TProvider, TWebSocketProvider>)): void;
74
74
  clearState(): void;
75
75
  destroy(): Promise<void>;
76
- autoConnect(): Promise<Data | undefined>;
76
+ autoConnect(): Promise<Data<TProvider> | undefined>;
77
77
  setLastUsedConnector(lastUsedConnector?: string | null): void;
78
78
  }
79
- export declare let client: Client;
80
- export declare function createClient(config?: ClientConfig): Client;
79
+ export declare let client: Client<BaseProvider, WebSocketProvider>;
80
+ export declare function createClient<TProvider extends BaseProvider = BaseProvider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider>(config?: ClientConfig<TProvider, TWebSocketProvider>): Client<TProvider, TWebSocketProvider>;
81
+ export declare function getClient<TProvider extends BaseProvider = BaseProvider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider>(): Client<TProvider, TWebSocketProvider>;
@@ -50,7 +50,6 @@ export declare abstract class Connector<Provider = any, Options = any> extends E
50
50
  protected abstract onAccountsChanged(accounts: string[]): void;
51
51
  protected abstract onChainChanged(chain: number | string): void;
52
52
  protected abstract onDisconnect(error: Error): void;
53
- protected getBlockExplorerUrls(chain: Chain): string[];
54
- protected getRpcUrls(chain: Chain): string[];
53
+ protected getBlockExplorerUrls(chain: Chain): any[];
55
54
  protected isChainUnsupported(chainId: number): boolean;
56
55
  }
@@ -25,20 +25,12 @@ export declare class InjectedConnector extends Connector<Window['ethereum'], Inj
25
25
  id: number;
26
26
  unsupported: boolean;
27
27
  };
28
- provider: InjectedProviders & {
29
- on?: ((...args: any[]) => void) | undefined;
30
- removeListener?: ((...args: any[]) => void) | undefined;
31
- request<T = any>(args: RequestArguments): Promise<T>;
32
- };
28
+ provider: Ethereum;
33
29
  }>;
34
30
  disconnect(): Promise<void>;
35
31
  getAccount(): Promise<string>;
36
32
  getChainId(): Promise<number>;
37
- getProvider(): Promise<(InjectedProviders & {
38
- on?: ((...args: any[]) => void) | undefined;
39
- removeListener?: ((...args: any[]) => void) | undefined;
40
- request<T = any>(args: RequestArguments): Promise<T>;
41
- }) | undefined>;
33
+ getProvider(): Promise<Ethereum | undefined>;
42
34
  getSigner(): Promise<providers.JsonRpcSigner>;
43
35
  isAuthorized(): Promise<boolean>;
44
36
  switchChain(chainId: number): Promise<Chain>;
@@ -7,7 +7,7 @@ export declare class MockConnector extends Connector<MockProvider, MockProviderO
7
7
  readonly name = "Mock";
8
8
  readonly ready = true;
9
9
  constructor(config: {
10
- chains: Chain[];
10
+ chains?: Chain[];
11
11
  options: MockProviderOptions;
12
12
  });
13
13
  connect(): Promise<{