@wagmi/core 0.4.0-test.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/chains/dist/wagmi-core-chains.cjs.d.ts +1 -11
  2. package/chains/dist/wagmi-core-chains.cjs.dev.js +23 -0
  3. package/chains/dist/wagmi-core-chains.cjs.js +6 -15
  4. package/chains/dist/wagmi-core-chains.cjs.prod.js +23 -0
  5. package/chains/dist/wagmi-core-chains.esm.js +2 -0
  6. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.d.ts +1 -11
  7. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +263 -0
  8. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.js +6 -15
  9. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +263 -0
  10. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +241 -0
  11. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.d.ts +1 -11
  12. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +80 -0
  13. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.js +6 -15
  14. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +80 -0
  15. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +76 -0
  16. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.d.ts +1 -11
  17. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +264 -0
  18. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.js +6 -15
  19. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +264 -0
  20. package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +255 -0
  21. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.d.ts +1 -11
  22. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +227 -0
  23. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.js +6 -15
  24. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +227 -0
  25. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +205 -0
  26. package/dist/base-33eceda3.esm.js +302 -0
  27. package/dist/base-457b5f55.cjs.prod.js +328 -0
  28. package/dist/base-6f16410c.cjs.dev.js +328 -0
  29. package/dist/chains-1390c48d.cjs.prod.js +416 -0
  30. package/dist/chains-2ca34f98.cjs.dev.js +416 -0
  31. package/dist/chains-e98fda1e.esm.js +395 -0
  32. package/dist/client-71653c40.esm.js +641 -0
  33. package/dist/client-7864fb0c.cjs.prod.js +652 -0
  34. package/dist/client-b3902dbf.cjs.dev.js +652 -0
  35. package/dist/declarations/src/actions/accounts/connect.d.ts +18 -0
  36. package/dist/declarations/src/actions/accounts/disconnect.d.ts +1 -0
  37. package/dist/declarations/src/actions/accounts/fetchBalance.d.ts +20 -0
  38. package/dist/declarations/src/actions/accounts/fetchSigner.d.ts +3 -0
  39. package/dist/declarations/src/actions/accounts/getAccount.d.ts +36 -0
  40. package/dist/declarations/src/actions/accounts/getNetwork.d.ts +8 -0
  41. package/dist/declarations/src/actions/accounts/index.d.ts +12 -0
  42. package/dist/declarations/src/actions/accounts/signMessage.d.ts +9 -0
  43. package/dist/declarations/src/actions/accounts/signTypedData.d.ts +20 -0
  44. package/dist/declarations/src/actions/accounts/switchNetwork.d.ts +6 -0
  45. package/dist/declarations/src/actions/accounts/watchAccount.d.ts +12 -0
  46. package/dist/declarations/src/actions/accounts/watchNetwork.d.ts +10 -0
  47. package/dist/declarations/src/actions/accounts/watchSigner.d.ts +3 -0
  48. package/dist/declarations/src/actions/contracts/getContract.d.ts +10 -0
  49. package/dist/declarations/src/actions/contracts/index.d.ts +7 -0
  50. package/dist/declarations/src/actions/contracts/multicall.d.ts +21 -0
  51. package/dist/declarations/src/actions/contracts/readContract.d.ts +17 -0
  52. package/dist/declarations/src/actions/contracts/readContracts.d.ts +19 -0
  53. package/dist/declarations/src/actions/contracts/watchContractEvent.d.ts +14 -0
  54. package/dist/declarations/src/actions/contracts/watchReadContract.d.ts +6 -0
  55. package/dist/declarations/src/actions/contracts/watchReadContracts.d.ts +6 -0
  56. package/dist/declarations/src/actions/contracts/writeContract.d.ts +16 -0
  57. package/dist/declarations/src/actions/ens/fetchEnsAddress.d.ts +8 -0
  58. package/dist/declarations/src/actions/ens/fetchEnsAvatar.d.ts +8 -0
  59. package/dist/declarations/src/actions/ens/fetchEnsName.d.ts +8 -0
  60. package/dist/declarations/src/actions/ens/fetchEnsResolver.d.ts +9 -0
  61. package/dist/declarations/src/actions/ens/index.d.ts +4 -0
  62. package/dist/declarations/src/actions/index.d.ts +7 -0
  63. package/dist/declarations/src/actions/network-status/fetchBlockNumber.d.ts +5 -0
  64. package/dist/declarations/src/actions/network-status/fetchFeeData.d.ts +16 -0
  65. package/dist/declarations/src/actions/network-status/index.d.ts +3 -0
  66. package/dist/declarations/src/actions/network-status/watchBlockNumber.d.ts +6 -0
  67. package/dist/declarations/src/actions/providers/getProvider.d.ts +7 -0
  68. package/dist/declarations/src/actions/providers/getWebSocketProvider.d.ts +7 -0
  69. package/dist/declarations/src/actions/providers/index.d.ts +4 -0
  70. package/dist/declarations/src/actions/providers/watchProvider.d.ts +4 -0
  71. package/dist/declarations/src/actions/providers/watchWebSocketProvider.d.ts +4 -0
  72. package/dist/declarations/src/actions/tokens/fetchToken.d.ts +20 -0
  73. package/dist/declarations/src/actions/tokens/index.d.ts +1 -0
  74. package/dist/declarations/src/actions/transactions/index.d.ts +2 -0
  75. package/dist/declarations/src/actions/transactions/sendTransaction.d.ts +12 -0
  76. package/dist/declarations/src/actions/transactions/waitForTransaction.d.ts +17 -0
  77. package/dist/declarations/src/chains.d.ts +1 -0
  78. package/dist/declarations/src/client.d.ts +77 -0
  79. package/dist/declarations/src/connectors/base.d.ts +61 -0
  80. package/dist/declarations/src/connectors/coinbaseWallet.d.ts +54 -0
  81. package/dist/declarations/src/connectors/index.d.ts +2 -0
  82. package/dist/declarations/src/connectors/injected.d.ts +56 -0
  83. package/dist/declarations/src/connectors/metaMask.d.ts +13 -0
  84. package/dist/declarations/src/connectors/mock/connector.d.ts +34 -0
  85. package/dist/declarations/src/connectors/mock/index.d.ts +2 -0
  86. package/dist/declarations/src/connectors/mock/provider.d.ts +40 -0
  87. package/dist/declarations/src/connectors/walletConnect.d.ts +39 -0
  88. package/dist/declarations/src/constants/abis.d.ts +2 -0
  89. package/dist/declarations/src/constants/blockExplorers.d.ts +9 -0
  90. package/dist/declarations/src/constants/chains.d.ts +55 -0
  91. package/dist/declarations/src/constants/index.d.ts +8 -0
  92. package/dist/declarations/src/constants/multicall.d.ts +25 -0
  93. package/dist/declarations/src/constants/rpcs.d.ts +9 -0
  94. package/dist/declarations/src/constants/units.d.ts +1 -0
  95. package/dist/declarations/src/errors.d.ts +94 -0
  96. package/dist/declarations/src/index.d.ts +13 -0
  97. package/dist/declarations/src/providers/alchemy.d.ts +7 -0
  98. package/dist/declarations/src/providers/infura.d.ts +7 -0
  99. package/dist/declarations/src/providers/jsonRpc.d.ts +11 -0
  100. package/dist/declarations/src/providers/public.d.ts +6 -0
  101. package/dist/declarations/src/storage.d.ts +12 -0
  102. package/dist/declarations/src/types/index.d.ts +163 -0
  103. package/dist/declarations/src/utils/configureChains.d.ts +26 -0
  104. package/dist/declarations/src/utils/getInjectedName.d.ts +1 -0
  105. package/dist/declarations/src/utils/index.d.ts +5 -0
  106. package/dist/declarations/src/utils/normalizeChainId.d.ts +1 -0
  107. package/dist/declarations/src/utils/warn.d.ts +1 -0
  108. package/dist/rpcs-7cfbd91c.esm.js +30 -0
  109. package/dist/rpcs-9c4eb960.cjs.dev.js +35 -0
  110. package/dist/rpcs-b3c52116.cjs.prod.js +35 -0
  111. package/dist/wagmi-core.cjs.d.ts +1 -11
  112. package/dist/wagmi-core.cjs.dev.js +1110 -0
  113. package/dist/wagmi-core.cjs.js +6 -15
  114. package/dist/wagmi-core.cjs.prod.js +1110 -0
  115. package/dist/wagmi-core.esm.js +1040 -0
  116. package/package.json +15 -3
  117. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.d.ts +1 -11
  118. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.dev.js +38 -0
  119. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.js +6 -15
  120. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.prod.js +38 -0
  121. package/providers/alchemy/dist/wagmi-core-providers-alchemy.esm.js +34 -0
  122. package/providers/infura/dist/wagmi-core-providers-infura.cjs.d.ts +1 -11
  123. package/providers/infura/dist/wagmi-core-providers-infura.cjs.dev.js +38 -0
  124. package/providers/infura/dist/wagmi-core-providers-infura.cjs.js +6 -15
  125. package/providers/infura/dist/wagmi-core-providers-infura.cjs.prod.js +38 -0
  126. package/providers/infura/dist/wagmi-core-providers-infura.esm.js +34 -0
  127. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.d.ts +1 -11
  128. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.dev.js +48 -0
  129. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.js +6 -15
  130. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.prod.js +48 -0
  131. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.esm.js +44 -0
  132. package/providers/public/dist/wagmi-core-providers-public.cjs.d.ts +1 -11
  133. package/providers/public/dist/wagmi-core-providers-public.cjs.dev.js +34 -0
  134. package/providers/public/dist/wagmi-core-providers-public.cjs.js +6 -15
  135. package/providers/public/dist/wagmi-core-providers-public.cjs.prod.js +34 -0
  136. package/providers/public/dist/wagmi-core-providers-public.esm.js +30 -0
  137. package/connectors/injected/dist/wagmi-core-connectors-injected.cjs.d.ts +0 -1
  138. package/connectors/injected/dist/wagmi-core-connectors-injected.cjs.dev.js +0 -200
  139. package/connectors/injected/dist/wagmi-core-connectors-injected.cjs.js +0 -7
  140. package/connectors/injected/dist/wagmi-core-connectors-injected.cjs.prod.js +0 -200
  141. package/connectors/injected/dist/wagmi-core-connectors-injected.esm.js +0 -196
  142. package/connectors/walletLink/dist/wagmi-core-connectors-walletLink.cjs.d.ts +0 -11
  143. package/connectors/walletLink/dist/wagmi-core-connectors-walletLink.cjs.js +0 -16
@@ -0,0 +1,36 @@
1
+ import { Client, Data } from '../../client';
2
+ import { Provider } from '../../types';
3
+ export declare type GetAccountResult<TProvider extends Provider = Provider> = {
4
+ address: NonNullable<Data<TProvider>['account']>;
5
+ connector: NonNullable<Client<TProvider>['connector']>;
6
+ isConnected: true;
7
+ isConnecting: false;
8
+ isDisconnected: false;
9
+ isReconnecting: false;
10
+ status: 'connected';
11
+ } | {
12
+ address: Data<TProvider>['account'];
13
+ connector: Client<TProvider>['connector'];
14
+ isConnected: boolean;
15
+ isConnecting: false;
16
+ isDisconnected: false;
17
+ isReconnecting: true;
18
+ status: 'reconnecting';
19
+ } | {
20
+ address: undefined;
21
+ connector: undefined;
22
+ isConnected: false;
23
+ isReconnecting: false;
24
+ isConnecting: true;
25
+ isDisconnected: false;
26
+ status: 'connecting';
27
+ } | {
28
+ address: undefined;
29
+ connector: undefined;
30
+ isConnected: false;
31
+ isReconnecting: false;
32
+ isConnecting: false;
33
+ isDisconnected: true;
34
+ status: 'disconnected';
35
+ };
36
+ export declare function getAccount<TProvider extends Provider>(): GetAccountResult<TProvider>;
@@ -0,0 +1,8 @@
1
+ import { Chain } from '../../types';
2
+ export declare type GetNetworkResult = {
3
+ chain?: Chain & {
4
+ unsupported?: boolean;
5
+ };
6
+ chains: Chain[];
7
+ };
8
+ export declare function getNetwork(): GetNetworkResult;
@@ -0,0 +1,12 @@
1
+ export { connect, type ConnectArgs, type ConnectResult } from './connect';
2
+ export { disconnect } from './disconnect';
3
+ export { fetchBalance, type FetchBalanceArgs, type FetchBalanceResult, } from './fetchBalance';
4
+ export { fetchSigner, type FetchSignerResult } from './fetchSigner';
5
+ export { getAccount, type GetAccountResult } from './getAccount';
6
+ export { getNetwork, type GetNetworkResult } from './getNetwork';
7
+ export { signMessage, type SignMessageArgs, type SignMessageResult, } from './signMessage';
8
+ export { signTypedData, type SignTypedDataArgs, type SignTypedDataResult, } from './signTypedData';
9
+ export { switchNetwork, type SwitchNetworkArgs, type SwitchNetworkResult, } from './switchNetwork';
10
+ export { watchAccount, type WatchAccountCallback } from './watchAccount';
11
+ export { watchNetwork, type WatchNetworkCallback } from './watchNetwork';
12
+ export { watchSigner, type WatchSignerCallback } from './watchSigner';
@@ -0,0 +1,9 @@
1
+ import { Bytes } from 'ethers/lib/utils';
2
+ export declare type SignMessageArgs = {
3
+ /** Message to sign with wallet */
4
+ message: Bytes | string;
5
+ };
6
+ declare type Signature = string;
7
+ export declare type SignMessageResult = Signature;
8
+ export declare function signMessage(args: SignMessageArgs): Promise<SignMessageResult>;
9
+ export {};
@@ -0,0 +1,20 @@
1
+ import { BigNumberish, BytesLike } from 'ethers';
2
+ export declare type SignTypedDataArgs = {
3
+ /** Domain or domain signature for origin or contract */
4
+ domain: {
5
+ name?: string;
6
+ version?: string;
7
+ chainId?: BigNumberish;
8
+ verifyingContract?: string;
9
+ salt?: BytesLike;
10
+ };
11
+ /** Named list of all type definitions */
12
+ types: Record<string, Array<{
13
+ name: string;
14
+ type: string;
15
+ }>>;
16
+ /** Data to sign */
17
+ value: Record<string, any>;
18
+ };
19
+ export declare type SignTypedDataResult = string;
20
+ export declare function signTypedData(args: SignTypedDataArgs): Promise<SignTypedDataResult>;
@@ -0,0 +1,6 @@
1
+ import { Chain } from '../../types';
2
+ export declare type SwitchNetworkArgs = {
3
+ chainId: number;
4
+ };
5
+ export declare type SwitchNetworkResult = Chain;
6
+ export declare function switchNetwork({ chainId, }: SwitchNetworkArgs): Promise<SwitchNetworkResult>;
@@ -0,0 +1,12 @@
1
+ import { Connector } from '../../connectors';
2
+ import { Provider } from '../../types';
3
+ import { GetAccountResult } from './getAccount';
4
+ export declare type WatchAccountCallback<TProvider extends Provider = Provider> = (data: GetAccountResult<TProvider>) => void;
5
+ export declare type WatchAccountConfig = {
6
+ selector?({ address, connector, status, }: {
7
+ address?: string;
8
+ connector?: Connector;
9
+ status: GetAccountResult['status'];
10
+ }): any;
11
+ };
12
+ export declare function watchAccount<TProvider extends Provider>(callback: WatchAccountCallback<TProvider>, { selector }?: WatchAccountConfig): () => void;
@@ -0,0 +1,10 @@
1
+ import { Chain } from '../../types';
2
+ import { GetNetworkResult } from './getNetwork';
3
+ export declare type WatchNetworkCallback = (data: GetNetworkResult) => void;
4
+ export declare type WatchNetworkConfig = {
5
+ selector?({ chainId, chains }: {
6
+ chainId?: number;
7
+ chains?: Chain[];
8
+ }): any;
9
+ };
10
+ export declare function watchNetwork(callback: WatchNetworkCallback, { selector }?: WatchNetworkConfig): () => void;
@@ -0,0 +1,3 @@
1
+ import { FetchSignerResult } from './fetchSigner';
2
+ export declare type WatchSignerCallback = (data: FetchSignerResult) => void;
3
+ export declare function watchSigner(callback: WatchSignerCallback): () => void;
@@ -0,0 +1,10 @@
1
+ import { Contract, ContractInterface, Signer, providers } from 'ethers';
2
+ export declare type GetContractArgs = {
3
+ /** Contract address or ENS name */
4
+ addressOrName: string;
5
+ /** Contract interface or ABI */
6
+ contractInterface: ContractInterface;
7
+ /** Signer or provider to attach to contract */
8
+ signerOrProvider?: Signer | providers.Provider | null;
9
+ };
10
+ export declare function getContract<T = Contract>({ addressOrName, contractInterface, signerOrProvider, }: GetContractArgs): T;
@@ -0,0 +1,7 @@
1
+ export { getContract, type GetContractArgs } from './getContract';
2
+ export { readContract, type ReadContractConfig, type ReadContractResult, } from './readContract';
3
+ export { readContracts, type ReadContractsConfig, type ReadContractsResult, } from './readContracts';
4
+ export { watchContractEvent } from './watchContractEvent';
5
+ export { watchReadContract, type WatchReadContractConfig, type WatchReadContractResult, } from './watchReadContract';
6
+ export { watchReadContracts, type WatchReadContractsConfig, type WatchReadContractsResult, } from './watchReadContracts';
7
+ export { writeContract, type WriteContractConfig, type WriteContractResult, } from './writeContract';
@@ -0,0 +1,21 @@
1
+ import { CallOverrides } from 'ethers/lib/ethers';
2
+ import { Result } from 'ethers/lib/utils';
3
+ import { ReadContractConfig } from './readContract';
4
+ declare type MulticallContract = {
5
+ addressOrName: ReadContractConfig['addressOrName'];
6
+ args?: ReadContractConfig['args'];
7
+ contractInterface: ReadContractConfig['contractInterface'];
8
+ functionName: ReadContractConfig['functionName'];
9
+ };
10
+ export declare type MulticallConfig = {
11
+ /** Failures in the multicall will fail silently */
12
+ allowFailure?: boolean;
13
+ /** Chain id to use for provider */
14
+ chainId?: number;
15
+ contracts: MulticallContract[];
16
+ /** Call overrides */
17
+ overrides?: CallOverrides;
18
+ };
19
+ export declare type MulticallResult<Data extends any[] = Result[]> = Data;
20
+ export declare function multicall<Data extends any[] = Result[]>({ allowFailure, chainId, contracts, overrides, }: MulticallConfig): Promise<MulticallResult<Data>>;
21
+ export {};
@@ -0,0 +1,17 @@
1
+ import { CallOverrides, Contract } from 'ethers/lib/ethers';
2
+ import { Result } from 'ethers/lib/utils';
3
+ import { GetContractArgs } from './getContract';
4
+ export declare type ReadContractConfig = {
5
+ addressOrName: GetContractArgs['addressOrName'];
6
+ /** Arguments to pass contract method */
7
+ args?: any | any[];
8
+ /** Chain id to use for provider */
9
+ chainId?: number;
10
+ contractInterface: GetContractArgs['contractInterface'];
11
+ /** Function to invoke on the contract */
12
+ functionName: string;
13
+ /** Call overrides */
14
+ overrides?: CallOverrides;
15
+ };
16
+ export declare type ReadContractResult<Data = Result> = Data;
17
+ export declare function readContract<TContract extends Contract = Contract, Data = Result>({ addressOrName, args, chainId, contractInterface, functionName, overrides, }: ReadContractConfig): Promise<ReadContractResult<Data>>;
@@ -0,0 +1,19 @@
1
+ import { CallOverrides } from 'ethers/lib/ethers';
2
+ import { Result } from 'ethers/lib/utils';
3
+ import { ReadContractConfig } from './readContract';
4
+ export declare type ReadContractsContract = {
5
+ addressOrName: ReadContractConfig['addressOrName'];
6
+ args?: ReadContractConfig['args'];
7
+ chainId?: ReadContractConfig['chainId'];
8
+ contractInterface: ReadContractConfig['contractInterface'];
9
+ functionName: ReadContractConfig['functionName'];
10
+ };
11
+ export declare type ReadContractsConfig = {
12
+ /** Failures will fail silently */
13
+ allowFailure?: boolean;
14
+ contracts: ReadContractsContract[];
15
+ /** Call overrides */
16
+ overrides?: CallOverrides;
17
+ };
18
+ export declare type ReadContractsResult<Data extends any[] = Result[]> = Data;
19
+ export declare function readContracts<Data extends any[] = Result[]>({ allowFailure, contracts, overrides, }: ReadContractsConfig): Promise<ReadContractsResult<Data>>;
@@ -0,0 +1,14 @@
1
+ import { Contract } from 'ethers/lib/ethers';
2
+ import { GetContractArgs } from './getContract';
3
+ declare type Config = {
4
+ /** Chain id to use for provider */
5
+ chainId?: number;
6
+ /** Receive only a single event */
7
+ once?: boolean;
8
+ };
9
+ export declare function watchContractEvent<TContract extends Contract = Contract>(
10
+ /** Contract configuration */
11
+ contractArgs: GetContractArgs,
12
+ /** Event name to listen to */
13
+ eventName: Parameters<TContract['on']>[0], callback: Parameters<TContract['on']>[1], { chainId, once }?: Config): () => void;
14
+ export {};
@@ -0,0 +1,6 @@
1
+ import { ReadContractConfig, ReadContractResult } from './readContract';
2
+ export declare type WatchReadContractConfig = ReadContractConfig & {
3
+ listenToBlock?: boolean;
4
+ };
5
+ export declare type WatchReadContractResult = (result: ReadContractResult) => void;
6
+ export declare function watchReadContract(config: WatchReadContractConfig, callback: WatchReadContractResult): () => void;
@@ -0,0 +1,6 @@
1
+ import { ReadContractsConfig, ReadContractsResult } from './readContracts';
2
+ export declare type WatchReadContractsConfig = ReadContractsConfig & {
3
+ listenToBlock?: boolean;
4
+ };
5
+ export declare type WatchReadContractsResult = (result: ReadContractsResult) => void;
6
+ export declare function watchReadContracts(config: WatchReadContractsConfig, callback: WatchReadContractsResult): () => void;
@@ -0,0 +1,16 @@
1
+ import { CallOverrides, Contract, providers } from 'ethers';
2
+ import { GetContractArgs } from './getContract';
3
+ export declare type WriteContractConfig = GetContractArgs & {
4
+ /**
5
+ * Chain id to use for write
6
+ * If signer is not active on this chain, it will attempt to programmatically switch
7
+ */
8
+ chainId?: number;
9
+ /** Method to call on contract */
10
+ functionName: string;
11
+ /** Arguments to pass contract method */
12
+ args?: any | any[];
13
+ overrides?: CallOverrides;
14
+ };
15
+ export declare type WriteContractResult = providers.TransactionResponse;
16
+ export declare function writeContract<TContract extends Contract = Contract>({ addressOrName, args, chainId, contractInterface, functionName, overrides, signerOrProvider, }: WriteContractConfig): Promise<WriteContractResult>;
@@ -0,0 +1,8 @@
1
+ export declare type FetchEnsAddressArgs = {
2
+ /** Chain id to use for provider */
3
+ chainId?: number;
4
+ /** ENS name to resolve */
5
+ name: string;
6
+ };
7
+ export declare type FetchEnsAddressResult = string | null;
8
+ export declare function fetchEnsAddress({ chainId, name, }: FetchEnsAddressArgs): Promise<FetchEnsAddressResult>;
@@ -0,0 +1,8 @@
1
+ export declare type FetchEnsAvatarArgs = {
2
+ /** Address or ENS name */
3
+ addressOrName: string;
4
+ /** Chain id to use for provider */
5
+ chainId?: number;
6
+ };
7
+ export declare type FetchEnsAvatarResult = string | null;
8
+ export declare function fetchEnsAvatar({ addressOrName, chainId, }: FetchEnsAvatarArgs): Promise<FetchEnsAvatarResult>;
@@ -0,0 +1,8 @@
1
+ export declare type FetchEnsNameArgs = {
2
+ /** Address to lookup */
3
+ address: string;
4
+ /** Chain id to use for provider */
5
+ chainId?: number;
6
+ };
7
+ export declare type FetchEnsNameResult = string | null;
8
+ export declare function fetchEnsName({ address, chainId, }: FetchEnsNameArgs): Promise<FetchEnsNameResult>;
@@ -0,0 +1,9 @@
1
+ import { providers } from 'ethers';
2
+ export declare type FetchEnsResolverArgs = {
3
+ /** Chain id to use for provider */
4
+ chainId?: number;
5
+ /** ENS name to resolve */
6
+ name: string;
7
+ };
8
+ export declare type FetchEnsResolverResult = providers.Resolver | null;
9
+ export declare function fetchEnsResolver({ chainId, name, }: FetchEnsResolverArgs): Promise<FetchEnsResolverResult>;
@@ -0,0 +1,4 @@
1
+ export { fetchEnsAddress, type FetchEnsAddressArgs, type FetchEnsAddressResult, } from './fetchEnsAddress';
2
+ export { fetchEnsAvatar, type FetchEnsAvatarArgs, type FetchEnsAvatarResult, } from './fetchEnsAvatar';
3
+ export { fetchEnsName, type FetchEnsNameArgs, type FetchEnsNameResult, } from './fetchEnsName';
4
+ export { fetchEnsResolver, type FetchEnsResolverArgs, type FetchEnsResolverResult, } from './fetchEnsResolver';
@@ -0,0 +1,7 @@
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
+ export { getContract, readContract, readContracts, watchContractEvent, watchReadContract, watchReadContracts, writeContract, type GetContractArgs, type ReadContractConfig, type ReadContractResult, type ReadContractsConfig, type ReadContractsResult, type WatchReadContractConfig, type WatchReadContractResult, type WatchReadContractsConfig, type WatchReadContractsResult, type WriteContractConfig, type WriteContractResult, } from './contracts';
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
+ export { sendTransaction, waitForTransaction, type SendTransactionArgs, type SendTransactionResult, type WaitForTransactionArgs, type WaitForTransactionResult, } from './transactions';
@@ -0,0 +1,5 @@
1
+ export declare type FetchBlockNumberArgs = {
2
+ chainId?: number;
3
+ };
4
+ export declare type FetchBlockNumberResult = number;
5
+ export declare function fetchBlockNumber({ chainId, }?: FetchBlockNumberArgs): Promise<FetchBlockNumberResult>;
@@ -0,0 +1,16 @@
1
+ import { providers } from 'ethers';
2
+ import { Unit } from '../../types';
3
+ export declare type FetchFeeDataArgs = {
4
+ /** Units for formatting output */
5
+ formatUnits?: Unit | number;
6
+ /** Chain id to use for provider */
7
+ chainId?: number;
8
+ };
9
+ export declare type FetchFeeDataResult = providers.FeeData & {
10
+ formatted: {
11
+ gasPrice: string | null;
12
+ maxFeePerGas: string | null;
13
+ maxPriorityFeePerGas: string | null;
14
+ };
15
+ };
16
+ export declare function fetchFeeData({ chainId, formatUnits: units, }?: FetchFeeDataArgs): Promise<FetchFeeDataResult>;
@@ -0,0 +1,3 @@
1
+ export { fetchBlockNumber, type FetchBlockNumberArgs, type FetchBlockNumberResult, } from './fetchBlockNumber';
2
+ export { fetchFeeData, type FetchFeeDataResult, type FetchFeeDataArgs, } from './fetchFeeData';
3
+ export { watchBlockNumber, type WatchBlockNumberArgs, type WatchBlockNumberCallback, } from './watchBlockNumber';
@@ -0,0 +1,6 @@
1
+ import { FetchBlockNumberResult } from './fetchBlockNumber';
2
+ export declare type WatchBlockNumberArgs = {
3
+ listen: boolean;
4
+ };
5
+ export declare type WatchBlockNumberCallback = (blockNumber: FetchBlockNumberResult) => void;
6
+ export declare function watchBlockNumber(args: WatchBlockNumberArgs, callback: WatchBlockNumberCallback): () => void;
@@ -0,0 +1,7 @@
1
+ import { Provider } from '../../types';
2
+ export declare type GetProviderArgs = {
3
+ /** Chain id to use for provider */
4
+ chainId?: number;
5
+ };
6
+ export declare type GetProviderResult<TProvider extends Provider = Provider> = TProvider;
7
+ export declare function getProvider<TProvider extends Provider = Provider>({ chainId, }?: GetProviderArgs): GetProviderResult<TProvider>;
@@ -0,0 +1,7 @@
1
+ import { WebSocketProvider } from '../../types';
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>;
@@ -0,0 +1,4 @@
1
+ export { getProvider, type GetProviderArgs, type GetProviderResult, } from './getProvider';
2
+ export { getWebSocketProvider, type GetWebSocketProviderArgs, type GetWebSocketProviderResult, } from './getWebSocketProvider';
3
+ export { watchProvider, type WatchProviderCallback } from './watchProvider';
4
+ export { watchWebSocketProvider, type WatchWebSocketProviderCallback, } from './watchWebSocketProvider';
@@ -0,0 +1,4 @@
1
+ import { Provider } from '../../types';
2
+ import { GetProviderArgs, GetProviderResult } from './getProvider';
3
+ export declare type WatchProviderCallback<TProvider extends Provider = Provider> = (provider: GetProviderResult<TProvider>) => void;
4
+ export declare function watchProvider<TProvider extends Provider = Provider>(args: GetProviderArgs, callback: WatchProviderCallback<TProvider>): () => void;
@@ -0,0 +1,4 @@
1
+ import { WebSocketProvider } from '../../types';
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;
@@ -0,0 +1,20 @@
1
+ import { BigNumber } from 'ethers/lib/ethers';
2
+ import { Unit } from '../../types';
3
+ export declare type FetchTokenArgs = {
4
+ /** Address of ERC-20 token */
5
+ address: string;
6
+ /** Chain id to use for provider */
7
+ chainId?: number;
8
+ /** Units for formatting output */
9
+ formatUnits?: Unit | number;
10
+ };
11
+ export declare type FetchTokenResult = {
12
+ address: string;
13
+ decimals: number;
14
+ symbol: string;
15
+ totalSupply: {
16
+ formatted: string;
17
+ value: BigNumber;
18
+ };
19
+ };
20
+ export declare function fetchToken({ address, chainId, formatUnits: units, }: FetchTokenArgs): Promise<FetchTokenResult>;
@@ -0,0 +1 @@
1
+ export { fetchToken, type FetchTokenArgs, type FetchTokenResult, } from './fetchToken';
@@ -0,0 +1,2 @@
1
+ export { sendTransaction, type SendTransactionArgs, type SendTransactionResult, } from './sendTransaction';
2
+ export { waitForTransaction, type WaitForTransactionArgs, type WaitForTransactionResult, } from './waitForTransaction';
@@ -0,0 +1,12 @@
1
+ import { providers } from 'ethers';
2
+ export declare type SendTransactionArgs = {
3
+ /**
4
+ * Chain id to use for write
5
+ * If signer is not active on this chain, it will attempt to programmatically switch
6
+ */
7
+ chainId?: number;
8
+ /** Object to use when creating transaction */
9
+ request: providers.TransactionRequest;
10
+ };
11
+ export declare type SendTransactionResult = providers.TransactionResponse;
12
+ export declare function sendTransaction({ chainId, request, }: SendTransactionArgs): Promise<SendTransactionResult>;
@@ -0,0 +1,17 @@
1
+ import { providers } from 'ethers';
2
+ export declare type WaitForTransactionArgs = {
3
+ /** Chain id to use for provider */
4
+ chainId?: number;
5
+ /**
6
+ * Number of blocks to wait for after transaction is mined
7
+ * @default 1
8
+ */
9
+ confirmations?: number;
10
+ /** Transaction hash to monitor */
11
+ hash?: string;
12
+ timeout?: number;
13
+ /** Function resolving to transaction receipt */
14
+ wait?: providers.TransactionResponse['wait'];
15
+ };
16
+ export declare type WaitForTransactionResult = providers.TransactionReceipt;
17
+ export declare function waitForTransaction({ chainId, confirmations, hash, timeout, wait: wait_, }: WaitForTransactionArgs): Promise<WaitForTransactionResult>;
@@ -0,0 +1 @@
1
+ export { arbitrum, arbitrumRinkeby, foundry, goerli, hardhat, kovan, localhost, mainnet, optimism, optimismKovan, polygon, polygonMumbai, rinkeby, ropsten, } from './constants/chains';
@@ -0,0 +1,77 @@
1
+ import { Mutate, StoreApi } from 'zustand/vanilla';
2
+ import { Connector, ConnectorData } from './connectors';
3
+ import { ClientStorage } from './storage';
4
+ import { Provider, WebSocketProvider } from './types';
5
+ export declare type ClientConfig<TProvider extends Provider = Provider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider> = {
6
+ /** Enables reconnecting to last used connector on init */
7
+ autoConnect?: boolean;
8
+ /**
9
+ * Connectors used for linking accounts
10
+ * @default [new InjectedConnector()]
11
+ */
12
+ connectors?: (() => Connector[]) | Connector[];
13
+ /** Interface for connecting to network */
14
+ provider: ((config: {
15
+ chainId?: number;
16
+ }) => TProvider) | TProvider;
17
+ /**
18
+ * Custom storage for data persistance
19
+ * @default window.localStorage
20
+ */
21
+ storage?: ClientStorage;
22
+ /** WebSocket interface for connecting to network */
23
+ webSocketProvider?: ((config: {
24
+ chainId?: number;
25
+ }) => TWebSocketProvider | undefined) | TWebSocketProvider;
26
+ };
27
+ export declare type Data<TProvider extends Provider> = ConnectorData<TProvider>;
28
+ export declare type State<TProvider extends Provider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider> = {
29
+ chains?: Connector['chains'];
30
+ connector?: Connector;
31
+ connectors: Connector[];
32
+ data?: Data<TProvider>;
33
+ error?: Error;
34
+ provider: TProvider;
35
+ status: 'connected' | 'connecting' | 'reconnecting' | 'disconnected';
36
+ webSocketProvider?: TWebSocketProvider;
37
+ };
38
+ export declare class Client<TProvider extends Provider = Provider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider> {
39
+ #private;
40
+ config: Partial<ClientConfig<TProvider, TWebSocketProvider>>;
41
+ storage: ClientStorage;
42
+ store: Mutate<StoreApi<State<TProvider, TWebSocketProvider>>, [
43
+ [
44
+ 'zustand/subscribeWithSelector',
45
+ never
46
+ ],
47
+ [
48
+ 'zustand/persist',
49
+ Partial<State<TProvider, TWebSocketProvider>>
50
+ ]
51
+ ]>;
52
+ constructor({ autoConnect, connectors, provider, storage, webSocketProvider, }: ClientConfig<TProvider, TWebSocketProvider>);
53
+ get chains(): import("./types").Chain[] | undefined;
54
+ get connectors(): Connector<any, any>[];
55
+ get connector(): Connector<any, any> | undefined;
56
+ get data(): Data<TProvider> | undefined;
57
+ get error(): Error | undefined;
58
+ get lastUsedChainId(): number | undefined;
59
+ get provider(): TProvider;
60
+ get status(): "connecting" | "connected" | "reconnecting" | "disconnected";
61
+ get subscribe(): {
62
+ (listener: (selectedState: State<TProvider, TWebSocketProvider>, previousSelectedState: State<TProvider, TWebSocketProvider>) => void): () => void;
63
+ <U>(selector: (state: State<TProvider, TWebSocketProvider>) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
64
+ equalityFn?: ((a: U, b: U) => boolean) | undefined;
65
+ fireImmediately?: boolean | undefined;
66
+ } | undefined): () => void;
67
+ };
68
+ get webSocketProvider(): TWebSocketProvider | undefined;
69
+ setState(updater: State<TProvider, TWebSocketProvider> | ((state: State<TProvider, TWebSocketProvider>) => State<TProvider, TWebSocketProvider>)): void;
70
+ clearState(): void;
71
+ destroy(): Promise<void>;
72
+ autoConnect(): Promise<Data<TProvider> | undefined>;
73
+ setLastUsedConnector(lastUsedConnector?: string | null): void;
74
+ }
75
+ export declare let client: Client<Provider, WebSocketProvider>;
76
+ export declare function createClient<TProvider extends Provider = Provider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider>(config: ClientConfig<TProvider, TWebSocketProvider>): Client<TProvider, TWebSocketProvider>;
77
+ export declare function getClient<TProvider extends Provider = Provider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider>(): Client<TProvider, TWebSocketProvider>;
@@ -0,0 +1,61 @@
1
+ import { default as EventEmitter } from 'eventemitter3';
2
+ import { Signer } from 'ethers/lib/ethers';
3
+ import { Chain } from '../types';
4
+ export declare type ConnectorData<Provider = any> = {
5
+ account?: string;
6
+ chain?: {
7
+ id: number;
8
+ unsupported: boolean;
9
+ };
10
+ provider?: Provider;
11
+ };
12
+ export interface ConnectorEvents<Provider = any> {
13
+ change(data: ConnectorData<Provider>): void;
14
+ connect(data: ConnectorData<Provider>): void;
15
+ message({ type, data }: {
16
+ type: string;
17
+ data?: unknown;
18
+ }): void;
19
+ disconnect(): void;
20
+ error(error: Error): void;
21
+ }
22
+ export declare abstract class Connector<Provider = any, Options = any> extends EventEmitter<ConnectorEvents<Provider>> {
23
+ /** Unique connector id */
24
+ abstract readonly id: string;
25
+ /** Connector name */
26
+ abstract readonly name: string;
27
+ /** Chains connector supports */
28
+ readonly chains: Chain[];
29
+ /** Options to use with connector */
30
+ readonly options: Options;
31
+ /** Whether connector is usable */
32
+ abstract readonly ready: boolean;
33
+ constructor({ chains, options, }: {
34
+ chains?: Chain[];
35
+ options: Options;
36
+ });
37
+ abstract connect(config?: {
38
+ chainId?: number;
39
+ }): Promise<Required<ConnectorData>>;
40
+ abstract disconnect(): Promise<void>;
41
+ abstract getAccount(): Promise<string>;
42
+ abstract getChainId(): Promise<number>;
43
+ abstract getProvider(config?: {
44
+ chainId?: number;
45
+ }): Promise<Provider>;
46
+ abstract getSigner(config?: {
47
+ chainId?: number;
48
+ }): Promise<Signer>;
49
+ abstract isAuthorized(): Promise<boolean>;
50
+ switchChain?(chainId: number): Promise<Chain>;
51
+ watchAsset?(asset: {
52
+ address: string;
53
+ image?: string;
54
+ symbol: string;
55
+ }): Promise<boolean>;
56
+ protected abstract onAccountsChanged(accounts: string[]): void;
57
+ protected abstract onChainChanged(chain: number | string): void;
58
+ protected abstract onDisconnect(error: Error): void;
59
+ protected getBlockExplorerUrls(chain: Chain): any[];
60
+ protected isChainUnsupported(chainId: number): boolean;
61
+ }