@wagmi/core 0.2.0 → 0.2.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 (55) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +2 -2
  3. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +4 -6
  4. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +4 -6
  5. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +4 -6
  6. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.d.ts +1 -0
  7. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +62 -0
  8. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.js +7 -0
  9. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +62 -0
  10. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +58 -0
  11. package/connectors/metaMask/package.json +4 -0
  12. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +2 -2
  13. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +2 -2
  14. package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +2 -2
  15. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +3 -3
  16. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +3 -3
  17. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +3 -3
  18. package/dist/{base-f0102d32.esm.js → base-159de546.esm.js} +1 -5
  19. package/dist/{base-30d4fad4.cjs.prod.js → base-5812b724.cjs.dev.js} +0 -4
  20. package/dist/{base-a0d63eb0.cjs.dev.js → base-59f3457e.cjs.prod.js} +0 -4
  21. package/dist/{classPrivateMethodGet-e0eaacfc.esm.js → classPrivateMethodGet-55c9909f.esm.js} +1 -1
  22. package/dist/{classPrivateMethodGet-9b9cd39b.cjs.dev.js → classPrivateMethodGet-976c8120.cjs.dev.js} +1 -1
  23. package/dist/{classPrivateMethodGet-656c08a7.cjs.prod.js → classPrivateMethodGet-d7330ed7.cjs.prod.js} +1 -1
  24. package/dist/client-4d8337e7.cjs.prod.js +606 -0
  25. package/dist/client-5d456446.esm.js +595 -0
  26. package/dist/client-f77a08e4.cjs.dev.js +606 -0
  27. package/dist/declarations/src/actions/accounts/connect.d.ts +4 -4
  28. package/dist/declarations/src/actions/accounts/getAccount.d.ts +3 -3
  29. package/dist/declarations/src/actions/accounts/watchAccount.d.ts +3 -3
  30. package/dist/declarations/src/actions/contracts/getContract.d.ts +2 -3
  31. package/dist/declarations/src/actions/contracts/readContract.d.ts +1 -1
  32. package/dist/declarations/src/actions/contracts/writeContract.d.ts +2 -3
  33. package/dist/declarations/src/actions/ens/fetchEnsResolver.d.ts +2 -2
  34. package/dist/declarations/src/actions/network-status/fetchFeeData.d.ts +2 -2
  35. package/dist/declarations/src/actions/providers/getProvider.d.ts +3 -3
  36. package/dist/declarations/src/actions/providers/getWebSocketProvider.d.ts +3 -3
  37. package/dist/declarations/src/actions/providers/watchProvider.d.ts +3 -3
  38. package/dist/declarations/src/actions/providers/watchWebSocketProvider.d.ts +3 -3
  39. package/dist/declarations/src/actions/transactions/sendTransaction.d.ts +3 -3
  40. package/dist/declarations/src/actions/transactions/waitForTransaction.d.ts +3 -3
  41. package/dist/declarations/src/client.d.ts +8 -8
  42. package/dist/declarations/src/connectors/base.d.ts +0 -1
  43. package/dist/declarations/src/connectors/coinbaseWallet.d.ts +1 -1
  44. package/dist/declarations/src/connectors/injected.d.ts +4 -3
  45. package/dist/declarations/src/connectors/metaMask.d.ts +13 -0
  46. package/dist/declarations/src/connectors/mock/provider.d.ts +5 -7
  47. package/dist/declarations/src/connectors/walletConnect.d.ts +4 -3
  48. package/dist/declarations/src/types/index.d.ts +17 -1
  49. package/dist/declarations/src/utils/getInjectedName.d.ts +1 -1
  50. package/dist/declarations/src/utils/index.d.ts +1 -0
  51. package/dist/declarations/src/utils/warn.d.ts +1 -0
  52. package/dist/wagmi-core.cjs.dev.js +64 -615
  53. package/dist/wagmi-core.cjs.prod.js +64 -615
  54. package/dist/wagmi-core.esm.js +12 -558
  55. package/package.json +11 -8
@@ -1,9 +1,9 @@
1
- import type { Resolver } from '@ethersproject/providers';
1
+ import { providers } from 'ethers';
2
2
  export declare type FetchEnsResolverArgs = {
3
3
  /** Chain id to use for provider */
4
4
  chainId?: number;
5
5
  /** ENS name to resolve */
6
6
  name: string;
7
7
  };
8
- export declare type FetchEnsResolverResult = Resolver | null;
8
+ export declare type FetchEnsResolverResult = providers.Resolver | null;
9
9
  export declare function fetchEnsResolver({ chainId, name, }: FetchEnsResolverArgs): Promise<FetchEnsResolverResult>;
@@ -1,4 +1,4 @@
1
- import type { FeeData } from '@ethersproject/providers';
1
+ import { providers } from 'ethers';
2
2
  import { Unit } from '../../types';
3
3
  export declare type FetchFeeDataArgs = {
4
4
  /** Units for formatting output */
@@ -6,7 +6,7 @@ export declare type FetchFeeDataArgs = {
6
6
  /** Chain id to use for provider */
7
7
  chainId?: number;
8
8
  };
9
- export declare type FetchFeeDataResult = FeeData & {
9
+ export declare type FetchFeeDataResult = providers.FeeData & {
10
10
  formatted: {
11
11
  gasPrice: string;
12
12
  maxFeePerGas: string;
@@ -1,7 +1,7 @@
1
- import type { BaseProvider } from '@ethersproject/providers';
1
+ import { providers } from 'ethers';
2
2
  export declare type GetProviderArgs = {
3
3
  /** Chain id to use for provider */
4
4
  chainId?: number;
5
5
  };
6
- export declare type GetProviderResult<TProvider extends BaseProvider = BaseProvider> = TProvider;
7
- export declare function getProvider<TProvider extends BaseProvider = BaseProvider>({ chainId, }?: GetProviderArgs): GetProviderResult<TProvider>;
6
+ export declare type GetProviderResult<TProvider extends providers.BaseProvider = providers.BaseProvider> = TProvider;
7
+ export declare function getProvider<TProvider extends providers.BaseProvider = providers.BaseProvider>({ chainId }?: GetProviderArgs): GetProviderResult<TProvider>;
@@ -1,7 +1,7 @@
1
- import type { WebSocketProvider } from '@ethersproject/providers';
1
+ import { providers } from 'ethers';
2
2
  export declare type GetWebSocketProviderArgs = {
3
3
  /** Chain id to use for provider */
4
4
  chainId?: number;
5
5
  };
6
- export declare type GetWebSocketProviderResult<TWebSocketProvider extends WebSocketProvider = WebSocketProvider> = TWebSocketProvider | undefined;
7
- export declare function getWebSocketProvider<TWebSocketProvider extends WebSocketProvider = WebSocketProvider>({ chainId, }?: GetWebSocketProviderArgs): GetWebSocketProviderResult<TWebSocketProvider>;
6
+ export declare type GetWebSocketProviderResult<TWebSocketProvider extends providers.WebSocketProvider = providers.WebSocketProvider> = TWebSocketProvider | undefined;
7
+ export declare function getWebSocketProvider<TWebSocketProvider extends providers.WebSocketProvider = providers.WebSocketProvider>({ chainId, }?: GetWebSocketProviderArgs): GetWebSocketProviderResult<TWebSocketProvider>;
@@ -1,4 +1,4 @@
1
- import type { BaseProvider } from '@ethersproject/providers';
1
+ import { providers } from 'ethers';
2
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;
3
+ export declare type WatchProviderCallback<TProvider extends providers.BaseProvider = providers.BaseProvider> = (provider: GetProviderResult<TProvider>) => void;
4
+ export declare function watchProvider<TProvider extends providers.BaseProvider = providers.BaseProvider>(args: GetProviderArgs, callback: WatchProviderCallback<TProvider>): () => void;
@@ -1,4 +1,4 @@
1
- import type { WebSocketProvider } from '@ethersproject/providers';
1
+ import { providers } from 'ethers';
2
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;
3
+ export declare type WatchWebSocketProviderCallback<TWebSocketProvider extends providers.WebSocketProvider = providers.WebSocketProvider> = (webSocketProvider: GetWebSocketProviderResult<TWebSocketProvider>) => void;
4
+ export declare function watchWebSocketProvider<TWebSocketProvider extends providers.WebSocketProvider = providers.WebSocketProvider>(args: GetWebSocketProviderArgs, callback: WatchWebSocketProviderCallback<TWebSocketProvider>): () => void;
@@ -1,7 +1,7 @@
1
- import type { TransactionRequest, TransactionResponse } from '@ethersproject/providers';
1
+ import { providers } from 'ethers';
2
2
  export declare type SendTransactionArgs = {
3
3
  /** Object to use when creating transaction */
4
- request: TransactionRequest;
4
+ request: providers.TransactionRequest;
5
5
  };
6
- export declare type SendTransactionResult = TransactionResponse;
6
+ export declare type SendTransactionResult = providers.TransactionResponse;
7
7
  export declare function sendTransaction(args: SendTransactionArgs): Promise<SendTransactionResult>;
@@ -1,4 +1,4 @@
1
- import type { TransactionReceipt, TransactionResponse } from '@ethersproject/providers';
1
+ import { providers } from 'ethers';
2
2
  export declare type WaitForTransactionArgs = {
3
3
  /** Chain id to use for provider */
4
4
  chainId?: number;
@@ -11,7 +11,7 @@ export declare type WaitForTransactionArgs = {
11
11
  hash?: string;
12
12
  timeout?: number;
13
13
  /** Function resolving to transaction receipt */
14
- wait?: TransactionResponse['wait'];
14
+ wait?: providers.TransactionResponse['wait'];
15
15
  };
16
- export declare type WaitForTransactionResult = TransactionReceipt;
16
+ export declare type WaitForTransactionResult = providers.TransactionReceipt;
17
17
  export declare function waitForTransaction({ chainId, confirmations, hash, timeout, wait: wait_, }: WaitForTransactionArgs): Promise<WaitForTransactionResult>;
@@ -1,8 +1,8 @@
1
- import type { BaseProvider, WebSocketProvider } from '@ethersproject/providers';
1
+ import { providers } from 'ethers';
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<TProvider extends BaseProvider = BaseProvider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider> = {
5
+ export declare type ClientConfig<TProvider extends providers.BaseProvider = providers.BaseProvider, TWebSocketProvider extends providers.WebSocketProvider = providers.WebSocketProvider> = {
6
6
  /** Enables reconnecting to last used connector on init */
7
7
  autoConnect?: boolean;
8
8
  /**
@@ -29,8 +29,8 @@ export declare type ClientConfig<TProvider extends BaseProvider = BaseProvider,
29
29
  chainId?: number;
30
30
  }) => TWebSocketProvider | undefined) | TWebSocketProvider;
31
31
  };
32
- export declare type Data<TProvider extends BaseProvider> = ConnectorData<TProvider>;
33
- export declare type State<TProvider extends BaseProvider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider> = {
32
+ export declare type Data<TProvider extends providers.BaseProvider> = ConnectorData<TProvider>;
33
+ export declare type State<TProvider extends providers.BaseProvider, TWebSocketProvider extends providers.WebSocketProvider = providers.WebSocketProvider> = {
34
34
  chains?: Connector['chains'];
35
35
  connector?: Connector;
36
36
  connectors: Connector[];
@@ -40,7 +40,7 @@ export declare type State<TProvider extends BaseProvider, TWebSocketProvider ext
40
40
  status: 'connected' | 'connecting' | 'reconnecting' | 'disconnected';
41
41
  webSocketProvider?: TWebSocketProvider;
42
42
  };
43
- export declare class Client<TProvider extends BaseProvider = BaseProvider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider> {
43
+ export declare class Client<TProvider extends providers.BaseProvider = providers.BaseProvider, TWebSocketProvider extends providers.WebSocketProvider = providers.WebSocketProvider> {
44
44
  #private;
45
45
  config: Partial<ClientConfig<TProvider, TWebSocketProvider>>;
46
46
  storage: WagmiStorage;
@@ -76,6 +76,6 @@ export declare class Client<TProvider extends BaseProvider = BaseProvider, TWebS
76
76
  autoConnect(): Promise<Data<TProvider> | undefined>;
77
77
  setLastUsedConnector(lastUsedConnector?: string | null): void;
78
78
  }
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>;
79
+ export declare let client: Client<providers.BaseProvider, providers.WebSocketProvider>;
80
+ export declare function createClient<TProvider extends providers.BaseProvider = providers.BaseProvider, TWebSocketProvider extends providers.WebSocketProvider = providers.WebSocketProvider>(config?: ClientConfig<TProvider, TWebSocketProvider>): Client<TProvider, TWebSocketProvider>;
81
+ export declare function getClient<TProvider extends providers.BaseProvider = providers.BaseProvider, TWebSocketProvider extends providers.WebSocketProvider = providers.WebSocketProvider>(): Client<TProvider, TWebSocketProvider>;
@@ -51,6 +51,5 @@ export declare abstract class Connector<Provider = any, Options = any> extends E
51
51
  protected abstract onChainChanged(chain: number | string): void;
52
52
  protected abstract onDisconnect(error: Error): void;
53
53
  protected getBlockExplorerUrls(chain: Chain): any[];
54
- protected getRpcUrls(chain: Chain): string[];
55
54
  protected isChainUnsupported(chainId: number): boolean;
56
55
  }
@@ -19,7 +19,7 @@ export declare class CoinbaseWalletConnector extends Connector<CoinbaseWalletPro
19
19
  #private;
20
20
  readonly id = "coinbaseWallet";
21
21
  readonly name = "Coinbase Wallet";
22
- readonly ready: boolean;
22
+ readonly ready = true;
23
23
  constructor(config: {
24
24
  chains?: Chain[];
25
25
  options: Options;
@@ -1,7 +1,9 @@
1
1
  import { providers } from 'ethers';
2
2
  import { Chain } from '../types';
3
3
  import { Connector } from './base';
4
- declare type InjectedConnectorOptions = {
4
+ export declare type InjectedConnectorOptions = {
5
+ /** Name of connector */
6
+ name?: string | ((detectedName: string | string[]) => string);
5
7
  /**
6
8
  * MetaMask and other injected providers do not support programmatic disconnect.
7
9
  * This flag simulates the disconnect behavior by keeping track of connection status in storage.
@@ -12,7 +14,7 @@ declare type InjectedConnectorOptions = {
12
14
  };
13
15
  export declare class InjectedConnector extends Connector<Window['ethereum'], InjectedConnectorOptions | undefined> {
14
16
  #private;
15
- readonly id = "injected";
17
+ readonly id: string;
16
18
  readonly name: string;
17
19
  readonly ready: boolean;
18
20
  constructor(config?: {
@@ -44,4 +46,3 @@ export declare class InjectedConnector extends Connector<Window['ethereum'], Inj
44
46
  protected onChainChanged: (chainId: number | string) => void;
45
47
  protected onDisconnect: () => void;
46
48
  }
47
- export {};
@@ -0,0 +1,13 @@
1
+ import { Chain } from '../types';
2
+ import { InjectedConnector, InjectedConnectorOptions } from './injected';
3
+ export declare type MetaMaskConnectorOptions = Pick<InjectedConnectorOptions, 'shimDisconnect'>;
4
+ export declare class MetaMaskConnector extends InjectedConnector {
5
+ #private;
6
+ readonly id = "metaMask";
7
+ readonly ready: boolean;
8
+ constructor(config?: {
9
+ chains?: Chain[];
10
+ options?: MetaMaskConnectorOptions;
11
+ });
12
+ getProvider(): Promise<Ethereum | undefined>;
13
+ }
@@ -1,7 +1,5 @@
1
1
  import { default as EventEmitter } from 'eventemitter3';
2
- import { Signer } from 'ethers/lib/ethers';
3
- import type { Listener } from '@ethersproject/providers';
4
- import { providers } from 'ethers';
2
+ import { Signer, providers } from 'ethers';
5
3
  export declare type MockProviderOptions = {
6
4
  flags?: {
7
5
  isAuthorized?: boolean;
@@ -33,10 +31,10 @@ export declare class MockProvider extends providers.BaseProvider {
33
31
  image?: string;
34
32
  symbol: string;
35
33
  }): Promise<boolean>;
36
- on(event: Event, listener: Listener): this;
37
- once(event: Event, listener: Listener): this;
38
- removeListener(event: Event, listener: Listener): this;
39
- off(event: Event, listener: Listener): this;
34
+ on(event: Event, listener: providers.Listener): this;
35
+ once(event: Event, listener: providers.Listener): this;
36
+ removeListener(event: Event, listener: providers.Listener): this;
37
+ off(event: Event, listener: providers.Listener): this;
40
38
  toJSON(): string;
41
39
  }
42
40
  export {};
@@ -1,16 +1,16 @@
1
1
  import { providers } from 'ethers';
2
2
  import type WalletConnectProvider from '@walletconnect/ethereum-provider';
3
- import type { IWCEthRpcConnectionOptions } from '@walletconnect/types';
4
3
  import { Chain } from '../types';
5
4
  import { Connector } from './base';
6
- export declare class WalletConnectConnector extends Connector<WalletConnectProvider, IWCEthRpcConnectionOptions> {
5
+ declare type WalletConnectOptions = ConstructorParameters<typeof WalletConnectProvider>[0];
6
+ export declare class WalletConnectConnector extends Connector<WalletConnectProvider, WalletConnectOptions> {
7
7
  #private;
8
8
  readonly id = "walletConnect";
9
9
  readonly name = "WalletConnect";
10
10
  readonly ready = true;
11
11
  constructor(config: {
12
12
  chains?: Chain[];
13
- options: IWCEthRpcConnectionOptions;
13
+ options: WalletConnectOptions;
14
14
  });
15
15
  connect(): Promise<{
16
16
  account: string;
@@ -30,3 +30,4 @@ export declare class WalletConnectConnector extends Connector<WalletConnectProvi
30
30
  protected onChainChanged: (chainId: number | string) => void;
31
31
  protected onDisconnect: () => void;
32
32
  }
33
+ export {};
@@ -61,12 +61,28 @@ declare global {
61
61
  method: 'wallet_watchAsset';
62
62
  params: WatchAssetParams;
63
63
  };
64
- type InjectedProviders = {
64
+ type InjectedProviderFlags = {
65
65
  isBraveWallet?: true;
66
66
  isCoinbaseWallet?: true;
67
67
  isFrame?: true;
68
68
  isMetaMask?: true;
69
69
  isTally?: true;
70
+ isTrust?: true;
71
+ };
72
+ type InjectedProviders = InjectedProviderFlags & {
73
+ isMetaMask: true;
74
+ /** Only exists in MetaMask as of 2022/04/03 */
75
+ _events: {
76
+ connect?: () => void;
77
+ };
78
+ /** Only exists in MetaMask as of 2022/04/03 */
79
+ _state?: {
80
+ accounts?: string[];
81
+ initialized?: boolean;
82
+ isConnected?: boolean;
83
+ isPermanentlyDisconnected?: boolean;
84
+ isUnlocked?: boolean;
85
+ };
70
86
  };
71
87
  interface Ethereum extends InjectedProviders {
72
88
  on?: (...args: any[]) => void;
@@ -1 +1 @@
1
- export declare function getInjectedName(ethereum?: Window['ethereum']): string;
1
+ export declare function getInjectedName(ethereum?: Window['ethereum']): string | string[];
@@ -1,2 +1,3 @@
1
1
  export { getInjectedName } from './getInjectedName';
2
2
  export { normalizeChainId } from './normalizeChainId';
3
+ export { warn } from './warn';
@@ -0,0 +1 @@
1
+ export declare function warn(message: string, id?: string): void;