@wagmi/core 0.2.0-next.1 → 0.2.0-next.12

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 (63) hide show
  1. package/LICENSE +1 -1
  2. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +135 -151
  3. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +135 -151
  4. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +136 -152
  5. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +96 -153
  6. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +96 -153
  7. package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +96 -153
  8. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +91 -124
  9. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +91 -124
  10. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +91 -124
  11. package/dist/base-83fd83c6.cjs.dev.js +543 -0
  12. package/dist/base-9b2942ee.cjs.prod.js +543 -0
  13. package/dist/base-b052e615.esm.js +516 -0
  14. package/dist/{classPrivateMethodGet-38b54c7a.cjs.dev.js → classPrivateMethodGet-45a38143.cjs.dev.js} +1 -1
  15. package/dist/{classPrivateMethodGet-c9db96d6.esm.js → classPrivateMethodGet-7c370e43.esm.js} +1 -1
  16. package/dist/{classPrivateMethodGet-0e9a7925.cjs.prod.js → classPrivateMethodGet-a1e1a4aa.cjs.prod.js} +1 -1
  17. package/dist/declarations/src/actions/accounts/connect.d.ts +14 -5
  18. package/dist/declarations/src/actions/accounts/fetchBalance.d.ts +3 -1
  19. package/dist/declarations/src/actions/accounts/getAccount.d.ts +5 -4
  20. package/dist/declarations/src/actions/accounts/index.d.ts +1 -1
  21. package/dist/declarations/src/actions/accounts/switchNetwork.d.ts +1 -1
  22. package/dist/declarations/src/actions/accounts/watchAccount.d.ts +3 -2
  23. package/dist/declarations/src/actions/contracts/readContract.d.ts +4 -1
  24. package/dist/declarations/src/actions/contracts/watchContractEvent.d.ts +3 -1
  25. package/dist/declarations/src/actions/ens/fetchEnsAddress.d.ts +3 -1
  26. package/dist/declarations/src/actions/ens/fetchEnsAvatar.d.ts +3 -1
  27. package/dist/declarations/src/actions/ens/fetchEnsName.d.ts +3 -1
  28. package/dist/declarations/src/actions/ens/fetchEnsResolver.d.ts +3 -1
  29. package/dist/declarations/src/actions/index.d.ts +3 -3
  30. package/dist/declarations/src/actions/network-status/fetchBlockNumber.d.ts +4 -1
  31. package/dist/declarations/src/actions/network-status/fetchFeeData.d.ts +3 -1
  32. package/dist/declarations/src/actions/network-status/index.d.ts +1 -1
  33. package/dist/declarations/src/actions/providers/getProvider.d.ts +6 -2
  34. package/dist/declarations/src/actions/providers/getWebSocketProvider.d.ts +6 -2
  35. package/dist/declarations/src/actions/providers/index.d.ts +2 -2
  36. package/dist/declarations/src/actions/providers/watchProvider.d.ts +3 -2
  37. package/dist/declarations/src/actions/providers/watchWebSocketProvider.d.ts +3 -2
  38. package/dist/declarations/src/actions/tokens/fetchToken.d.ts +6 -10
  39. package/dist/declarations/src/client.d.ts +25 -22
  40. package/dist/declarations/src/connectors/base.d.ts +7 -1
  41. package/dist/declarations/src/connectors/coinbaseWallet.d.ts +9 -0
  42. package/dist/declarations/src/connectors/injected.d.ts +2 -10
  43. package/dist/declarations/src/constants/abis.d.ts +2 -0
  44. package/dist/declarations/src/constants/blockExplorers.d.ts +9 -0
  45. package/dist/declarations/src/constants/chains.d.ts +17 -6
  46. package/dist/declarations/src/constants/index.d.ts +6 -2
  47. package/dist/declarations/src/constants/keys.d.ts +2 -0
  48. package/dist/declarations/src/constants/rpcs.d.ts +7 -0
  49. package/dist/declarations/src/index.d.ts +8 -5
  50. package/dist/declarations/src/types/index.d.ts +75 -6
  51. package/dist/declarations/src/utils/getInjectedName.d.ts +1 -1
  52. package/dist/wagmi-core.cjs.dev.js +659 -1068
  53. package/dist/wagmi-core.cjs.prod.js +659 -1068
  54. package/dist/wagmi-core.esm.js +656 -1069
  55. package/package.json +3 -4
  56. package/dist/base-09a653f3.cjs.dev.js +0 -453
  57. package/dist/base-824c3b6d.esm.js +0 -430
  58. package/dist/base-d8123d5f.cjs.prod.js +0 -453
  59. package/dist/declarations/src/constants/abis/erc1155.d.ts +0 -17
  60. package/dist/declarations/src/constants/abis/erc20.d.ts +0 -38
  61. package/dist/declarations/src/constants/abis/erc721.d.ts +0 -15
  62. package/dist/declarations/src/constants/abis/index.d.ts +0 -3
  63. package/dist/declarations/src/types/declarations.d.ts +0 -52
@@ -1,7 +1,7 @@
1
- export { connect, disconnect, fetchBalance, fetchSigner, getAccount, getNetwork, signMessage, signTypedData, switchNetwork, watchAccount, watchBalance, watchNetwork, watchSigner, 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, 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';
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
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';
4
+ export { fetchBlockNumber, fetchFeeData, watchBlockNumber, watchFeeData, type FetchBlockNumberArgs, type FetchBlockNumberResult, type FetchFeeDataArgs, type FetchFeeDataResult, type WatchBlockNumberArgs, type WatchBlockNumberCallback, type WatchFeeDataArgs, type WatchFeeDataCallback, } from './network-status';
5
+ export { getProvider, getWebSocketProvider, watchProvider, watchWebSocketProvider, type GetProviderArgs, type GetProviderResult, type GetWebSocketProviderArgs, type GetWebSocketProviderResult, type WatchProviderCallback, type WatchWebSocketProviderCallback, } from './providers';
6
6
  export { fetchToken, watchToken, type FetchTokenArgs, type FetchTokenResult, type WatchTokenCallback, } 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,4 @@
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
3
  export { watchFeeData, type WatchFeeDataArgs, type WatchFeeDataCallback, } from './watchFeeData';
4
4
  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 type { BaseProvider } from '@ethersproject/providers';
1
2
  import { GetProviderResult } from './getProvider';
2
- export declare type WatchProviderCallback = (provider: GetProviderResult) => void;
3
- export declare function watchProvider(callback: WatchProviderCallback): () => void;
3
+ export declare type WatchProviderCallback<TProvider extends BaseProvider = BaseProvider> = (provider: GetProviderResult<TProvider>) => void;
4
+ export declare function watchProvider<TProvider extends BaseProvider = BaseProvider>(callback: WatchProviderCallback<TProvider>): () => void;
@@ -1,3 +1,4 @@
1
+ import type { WebSocketProvider } from '@ethersproject/providers';
1
2
  import { GetWebSocketProviderResult } from './getWebSocketProvider';
2
- export declare type WatchWebSocketProviderCallback = (webSocketProvider: GetWebSocketProviderResult) => void;
3
- export declare function watchWebSocketProvider(callback: WatchWebSocketProviderCallback): () => void;
3
+ export declare type WatchWebSocketProviderCallback<TWebSocketProvider extends WebSocketProvider = WebSocketProvider> = (webSocketProvider: GetWebSocketProviderResult<TWebSocketProvider>) => void;
4
+ export declare function watchWebSocketProvider<TWebSocketProvider extends WebSocketProvider = WebSocketProvider>(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>;
@@ -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,52 +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
+ chains?: Connector['chains'];
34
35
  connector?: Connector;
35
36
  connectors: Connector[];
36
- data?: Data;
37
+ data?: Data<TProvider>;
37
38
  error?: Error;
38
- provider: BaseProvider;
39
+ provider: TProvider;
39
40
  status: 'connected' | 'connecting' | 'reconnecting' | 'disconnected';
40
- webSocketProvider?: WebSocketProvider;
41
+ webSocketProvider?: TWebSocketProvider;
41
42
  };
42
- export declare class Client {
43
+ export declare class Client<TProvider extends BaseProvider = BaseProvider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider> {
43
44
  #private;
44
- config: Partial<ClientConfig>;
45
+ config: Partial<ClientConfig<TProvider, TWebSocketProvider>>;
45
46
  storage: WagmiStorage;
46
- store: Mutate<StoreApi<State>, [
47
+ store: Mutate<StoreApi<State<TProvider, TWebSocketProvider>>, [
47
48
  [
48
49
  'zustand/subscribeWithSelector',
49
50
  never
50
51
  ],
51
52
  [
52
53
  'zustand/persist',
53
- Partial<State>
54
+ Partial<State<TProvider, TWebSocketProvider>>
54
55
  ]
55
56
  ]>;
56
- constructor({ autoConnect, connectors, provider, storage, webSocketProvider, }?: ClientConfig);
57
+ constructor(config?: ClientConfig<TProvider, TWebSocketProvider>);
58
+ get chains(): import("./types").Chain[] | undefined;
57
59
  get connectors(): Connector<any, any>[];
58
60
  get connector(): Connector<any, any> | undefined;
59
- get data(): Data | undefined;
61
+ get data(): Data<TProvider> | undefined;
60
62
  get error(): Error | undefined;
61
- get provider(): BaseProvider;
63
+ get provider(): TProvider;
62
64
  get status(): "connected" | "connecting" | "reconnecting" | "disconnected";
63
65
  get subscribe(): {
64
- (listener: (selectedState: State, previousSelectedState: State) => void): () => void;
65
- <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?: {
66
68
  equalityFn?: ((a: U, b: U) => boolean) | undefined;
67
69
  fireImmediately?: boolean | undefined;
68
70
  } | undefined): () => void;
69
71
  };
70
- get webSocketProvider(): WebSocketProvider | undefined;
71
- 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;
72
74
  clearState(): void;
73
75
  destroy(): Promise<void>;
74
- autoConnect(): Promise<Data | undefined>;
76
+ autoConnect(): Promise<Data<TProvider> | undefined>;
75
77
  setLastUsedConnector(lastUsedConnector?: string | null): void;
76
78
  }
77
- export declare let client: Client;
78
- 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>;
@@ -12,6 +12,10 @@ export declare type ConnectorData<Provider = any> = {
12
12
  export interface ConnectorEvents<Provider = any> {
13
13
  change(data: ConnectorData<Provider>): void;
14
14
  connect(data: ConnectorData<Provider>): void;
15
+ message({ type, data }: {
16
+ type: string;
17
+ data?: unknown;
18
+ }): void;
15
19
  disconnect(): void;
16
20
  error(error: Error): void;
17
21
  }
@@ -30,7 +34,7 @@ export declare abstract class Connector<Provider = any, Options = any> extends E
30
34
  chains?: Chain[];
31
35
  options: Options;
32
36
  });
33
- abstract connect(): Promise<ConnectorData>;
37
+ abstract connect(): Promise<Required<ConnectorData>>;
34
38
  abstract disconnect(): Promise<void>;
35
39
  abstract getAccount(): Promise<string>;
36
40
  abstract getChainId(): Promise<number>;
@@ -46,5 +50,7 @@ export declare abstract class Connector<Provider = any, Options = any> extends E
46
50
  protected abstract onAccountsChanged(accounts: string[]): void;
47
51
  protected abstract onChainChanged(chain: number | string): void;
48
52
  protected abstract onDisconnect(error: Error): void;
53
+ protected getBlockExplorerUrls(chain: Chain): string[];
54
+ protected getRpcUrls(chain: Chain): string[];
49
55
  protected isChainUnsupported(chainId: number): boolean;
50
56
  }
@@ -4,7 +4,16 @@ import type { CoinbaseWalletSDKOptions } from '@coinbase/wallet-sdk/dist/Coinbas
4
4
  import { Chain } from '../types';
5
5
  import { Connector } from './base';
6
6
  declare type Options = CoinbaseWalletSDKOptions & {
7
+ /**
8
+ * Fallback Ethereum JSON RPC URL
9
+ * @default ""
10
+ */
7
11
  jsonRpcUrl?: string;
12
+ /**
13
+ * Fallback Ethereum Chain ID
14
+ * @default 1
15
+ */
16
+ chainId?: number;
8
17
  };
9
18
  export declare class CoinbaseWalletConnector extends Connector<CoinbaseWalletProvider, Options> {
10
19
  #private;
@@ -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>;
@@ -0,0 +1,2 @@
1
+ export declare const erc20ABI: string[];
2
+ export declare const erc721ABI: string[];
@@ -0,0 +1,9 @@
1
+ import { ChainName } from './chains';
2
+ export declare type BlockExplorerName = 'etherscan';
3
+ export declare type BlockExplorer = {
4
+ name: string;
5
+ url: string;
6
+ };
7
+ declare type EtherscanChains = Extract<ChainName, 'mainnet' | 'ropsten' | 'rinkeby' | 'goerli' | 'kovan' | 'optimism' | 'optimismKovan' | 'polygon' | 'polygonMumbai' | 'arbitrum' | 'arbitrumRinkeby'>;
8
+ export declare const etherscanBlockExplorers: Record<EtherscanChains, BlockExplorer>;
9
+ export {};
@@ -1,10 +1,21 @@
1
1
  import { Chain } from '../types';
2
- declare type ChainName = 'arbitrumOne' | 'arbitrumRinkeby' | 'avalanche' | 'avalancheFuji' | 'goerli' | 'hardhat' | 'kovan' | 'localhost' | 'mainnet' | 'optimism' | 'optimismKovan' | 'polygonMainnet' | 'polygonTestnetMumbai' | 'rinkeby' | 'ropsten';
3
- /**
4
- * Data from Chainlist
5
- * @see https://chainlist.org
6
- */
2
+ export declare type ChainName = 'arbitrum' | 'arbitrumRinkeby' | 'goerli' | 'hardhat' | 'kovan' | 'localhost' | 'mainnet' | 'optimism' | 'optimismKovan' | 'polygon' | 'polygonMumbai' | 'rinkeby' | 'ropsten';
3
+ export declare const chainId: {
4
+ readonly mainnet: 1;
5
+ readonly ropsten: 3;
6
+ readonly rinkeby: 4;
7
+ readonly goerli: 5;
8
+ readonly kovan: 42;
9
+ readonly optimism: 10;
10
+ readonly optimismKovan: 69;
11
+ readonly polygon: 137;
12
+ readonly polygonMumbai: 80001;
13
+ readonly arbitrum: 42161;
14
+ readonly arbitrumRinkeby: 421611;
15
+ readonly localhost: 1337;
16
+ readonly hardhat: 31337;
17
+ };
7
18
  export declare const chain: Record<ChainName, Chain>;
8
19
  export declare const allChains: Chain[];
9
20
  export declare const defaultChains: Chain[];
10
- export {};
21
+ export declare const defaultL2Chains: Chain[];
@@ -1,3 +1,7 @@
1
- export { erc1155ABI, erc20ABI, erc721ABI } from './abis';
2
- export { chain, allChains, defaultChains } from './chains';
1
+ export { erc20ABI, erc721ABI } from './abis';
2
+ export { etherscanBlockExplorers } from './blockExplorers';
3
+ export type { BlockExplorer, BlockExplorerName } from './blockExplorers';
4
+ export { chain, chainId, allChains, defaultChains, defaultL2Chains, } from './chains';
5
+ export { alchemyRpcUrls, infuraRpcUrls } from './rpcs';
6
+ export type { RpcProviderName } from './rpcs';
3
7
  export { units } from './units';
@@ -0,0 +1,2 @@
1
+ export declare const defaultAlchemyId = "_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC";
2
+ export declare const defaultInfuraId = "84842078b09946638c03157f83405213";
@@ -0,0 +1,7 @@
1
+ import { ChainName } from './chains';
2
+ export declare type RpcProviderName = 'alchemy' | 'infura';
3
+ declare type AlchemyChains = Extract<ChainName, 'mainnet' | 'ropsten' | 'rinkeby' | 'goerli' | 'kovan' | 'optimism' | 'optimismKovan' | 'polygon' | 'polygonMumbai' | 'arbitrum' | 'arbitrumRinkeby'>;
4
+ export declare const alchemyRpcUrls: Record<AlchemyChains, string>;
5
+ declare type InfuraChains = Extract<ChainName, 'mainnet' | 'ropsten' | 'rinkeby' | 'goerli' | 'kovan' | 'optimism' | 'optimismKovan' | 'polygon' | 'polygonMumbai' | 'arbitrum' | 'arbitrumRinkeby'>;
6
+ export declare const infuraRpcUrls: Record<InfuraChains, string>;
7
+ export {};
@@ -1,9 +1,12 @@
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, watchBalance, watchBlockNumber, watchContractEvent, watchEnsAddress, watchEnsAvatar, watchEnsName, watchEnsResolver, watchFeeData, watchNetwork, watchReadContract, watchSigner, watchToken, writeContract, } from './actions';
2
- export type { ConnectResult, FetchBalanceArgs, FetchBalanceResult, FetchBlockNumberResult, FetchEnsAddressArgs, FetchEnsAddressResult, FetchEnsAvatarArgs, FetchEnsAvatarResult, FetchEnsNameArgs, FetchEnsNameResult, FetchEnsResolverArgs, FetchEnsResolverResult, FetchFeeDataArgs, FetchFeeDataResult, FetchSignerResult, FetchTokenArgs, FetchTokenResult, GetAccountResult, GetContractArgs, GetNetworkResult, ReadContractArgs, ReadContractConfig, ReadContractResult, SendTransactionArgs, SendTransactionResult, SignMessageArgs, SignMessageResult, SignTypedDataArgs, SignTypedDataResult, SwitchNetworkArgs, SwitchNetworkResult, WaitForTransactionArgs, WaitForTransactionResult, WatchAccountCallback, WatchBalanceCallback, WatchBlockNumberArgs, WatchBlockNumberCallback, WatchEnsAddressCallback, WatchEnsAvatarCallback, WatchEnsNameCallback, WatchEnsResolverCallback, WatchFeeDataArgs, WatchFeeDataCallback, WatchNetworkCallback, WatchReadContractArgs, WatchReadContractConfig, WatchReadContractResult, WatchSignerCallback, WatchTokenCallback, WriteContractArgs, WriteContractConfig, WriteContractResult, } from './actions';
3
- export { createClient, createClient as createWagmiClient, Client, Client as WagmiClient, type ClientConfig, type ClientConfig as WagmiClientConfig, } from './client';
4
- export { Connector, InjectedConnector, type ConnectorData, type ConnectorEvents, } from './connectors';
5
- export { allChains, chain, defaultChains, erc1155ABI, erc20ABI, erc721ABI, units, } from './constants';
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, WatchBalanceCallback, WatchBlockNumberArgs, WatchBlockNumberCallback, WatchEnsAddressCallback, WatchEnsAvatarCallback, WatchEnsNameCallback, WatchEnsResolverCallback, WatchFeeDataArgs, WatchFeeDataCallback, WatchNetworkCallback, WatchReadContractArgs, WatchReadContractConfig, WatchReadContractResult, WatchSignerCallback, WatchTokenCallback, WriteContractArgs, WriteContractConfig, WriteContractResult, } from './actions';
3
+ export { createClient, createClient as createWagmiClient, Client, Client as WagmiClient, } from './client';
4
+ export type { ClientConfig, ClientConfig as WagmiClientConfig } from './client';
5
+ export { Connector, InjectedConnector } from './connectors';
6
+ export type { ConnectorData, ConnectorEvents } from './connectors';
7
+ export { alchemyRpcUrls, allChains, chain, chainId, defaultChains, defaultL2Chains, erc20ABI, erc721ABI, etherscanBlockExplorers, infuraRpcUrls, units, } from './constants';
6
8
  export { AddChainError, ChainNotConfiguredError, ConnectorAlreadyConnectedError, ConnectorNotFoundError, SwitchChainError, SwitchChainNotSupportedError, UserRejectedRequestError, } from './errors';
7
- export { createStorage, createStorage as createWagmiStorage, noopStorage, type WagmiStorage as Storage, type WagmiStorage, } from './storage';
9
+ export { createStorage, createStorage as createWagmiStorage, noopStorage, } from './storage';
10
+ export type { WagmiStorage as Storage, WagmiStorage } from './storage';
8
11
  export type { Chain, Unit } from './types';
9
12
  export { normalizeChainId } from './utils';
@@ -1,14 +1,83 @@
1
- import { units } from '../constants';
2
- import './declarations';
1
+ import { BlockExplorer, BlockExplorerName, RpcProviderName, units } from '../constants';
3
2
  export declare type Chain = {
4
3
  id: number;
5
4
  name: AddEthereumChainParameter['chainName'];
6
5
  nativeCurrency?: AddEthereumChainParameter['nativeCurrency'];
7
- rpcUrls: AddEthereumChainParameter['rpcUrls'];
6
+ rpcUrls: {
7
+ [key in RpcProviderName]?: string;
8
+ } & {
9
+ default: string | string[];
10
+ };
8
11
  blockExplorers?: {
9
- name: string;
10
- url: string;
11
- }[];
12
+ [key in BlockExplorerName]?: BlockExplorer;
13
+ } & {
14
+ default: BlockExplorer | BlockExplorer[];
15
+ };
12
16
  testnet?: boolean;
13
17
  };
14
18
  export declare type Unit = typeof units[number];
19
+ declare global {
20
+ type AddEthereumChainParameter = {
21
+ chainId: string;
22
+ chainName: string;
23
+ nativeCurrency?: {
24
+ name: string;
25
+ symbol: string;
26
+ decimals: 18;
27
+ };
28
+ rpcUrls: string[];
29
+ blockExplorerUrls?: string[];
30
+ iconUrls?: string[];
31
+ };
32
+ type WatchAssetParams = {
33
+ type: 'ERC20';
34
+ options: {
35
+ address: string;
36
+ decimals: number;
37
+ image?: string;
38
+ symbol: string;
39
+ };
40
+ };
41
+ type RequestArguments = {
42
+ method: 'eth_accounts';
43
+ } | {
44
+ method: 'eth_chainId';
45
+ } | {
46
+ method: 'eth_requestAccounts';
47
+ } | {
48
+ method: 'personal_sign';
49
+ params: [string, string];
50
+ } | {
51
+ method: 'wallet_addEthereumChain';
52
+ params: AddEthereumChainParameter[];
53
+ } | {
54
+ method: 'wallet_switchEthereumChain';
55
+ params: [{
56
+ chainId: string;
57
+ }];
58
+ } | {
59
+ method: 'wallet_watchAsset';
60
+ params: WatchAssetParams;
61
+ };
62
+ type InjectedProviders = {
63
+ isBraveWallet?: true;
64
+ isCoinbaseWallet?: true;
65
+ isFrame?: true;
66
+ isMetaMask?: true;
67
+ isTally?: true;
68
+ };
69
+ interface Ethereum extends InjectedProviders {
70
+ on?: (...args: any[]) => void;
71
+ removeListener?: (...args: any[]) => void;
72
+ request<T = any>(args: RequestArguments): Promise<T>;
73
+ providers?: Ethereum[];
74
+ }
75
+ interface Window {
76
+ ethereum?: Ethereum;
77
+ }
78
+ interface ProviderRpcError extends Error {
79
+ code: 4001 | 4902;
80
+ data?: unknown;
81
+ message: string;
82
+ }
83
+ }
@@ -1 +1 @@
1
- export declare function getInjectedName(ethereum?: Window['ethereum']): "Coinbase Wallet" | "Injected" | "MetaMask" | "Frame" | "Tally";
1
+ export declare function getInjectedName(ethereum?: Window['ethereum']): string;